Итак, у меня есть небольшая проблема с апострофами в MySQL при возврате строк в текстовые поля, чтобы они могли редактироваться.Исходные строки в строке MySQL, за исключением тех случаев, когда они возвращаются как значение текстового ввода
Проблема состоит в том, что строки, содержащие апостроф (') в строке столбца, будут echo
в виде текста на странице, но при эхом в качестве значения текстового поля строка вырезается в апострофе и закончилась косой чертой.
Я удалил косую черту, используя stripslashes($nam)
с $nam
, являясь переменной, которую я загружаю в колонку «Имя», используя mysqli_fetch_assoc
. Но остальная часть строки еще не возвращается.
Опять же, когда эхо на странице, в которой перечислены все строки, нет проблем, полная строка выводится так, как должна быть, с апострофами и без добавленных косых черт.
Это когда строка вторит на странице:
Это когда строка перекликается как значение текстового поля:
инструменты разработчика Chrome, я могу видеть проблема заключается в том, что апостроф закрывает тег value
слишком рано, а остальная часть строки обрабатывается как свойство HTML.
Так как же я этого не происходило, в настоящее время мой код (а значительно сократить версии, чтобы избежать заполнения страницы с бессмысленным несвязанным кодом), который я использую, чтобы эхо:
while($row = mysqli_fetch_assoc($result)):
$nam = $row["Name"];
$nam = mysqli_real_escape_string($mysqli, $nam);
$nam = mysqli_real_escape_string($mysqli, $nam);
echo "<label for='Name'>Name</label></td>
<td><input type='text' name='Name' id='Name' placeholder='Item Name' value='".$nam."' required></td>";
endwhile;