У меня есть форма, обработанная с помощью PHP. Он содержит поле Notes для задания клиента. Проблема заключается в том, что если в примечаниях есть «внутри», например, «O'Reilly», и т. Д., Это ускользает от строки в базе данных, поэтому у меня есть все заметки до тех пор, пока она не встретит «то это конец нот.mysql_real_escape_string Не работает с '
Я понимаю, что есть такие вещи, как mysqli_ и PDO, но это очень напряженный сезон на данный момент, и я мог просто сделать это быстро, прежде чем делать полное обновление/капитальный ремонт в январе.
Любая идея, почему она не работает? Код включен. Неважно, где я помещаю mysql_real_escape_string(), он нигде не работает.
FYI: Столбец таблицы - ТЕКСТ. И есть несколько других полей, следовательно, Еогеасп
// SELECTS AND CONNECTS TO SERVER/DB
include_once('config/db.inc.php');
// CONVERT ALL $_POST['name'] to $name and clean/prep for mysql insertion
foreach($_POST as $key => $value) {
$$key = mysql_real_escape_string($value);
}
// UPDATE CLIENT JOB NOTES
$query = "UPDATE client_list SET bookingNotes='$bookingNotes' WHERE id='$CID'";
mysql_query($query, $conn) or die(mysql_error());
ТИА
Редактировать для ответов ниже:
$ bookingNotes и $ CID являются определить по виду переменных $ _POST [» bookingNotes '] и $ _POST [' CID '], где foreach существенно удаляет часть «_POST». (это целая часть $$ key = $ value)
Как уже упоминалось, я ценю mysqli_ и PDO, но в настоящее время я не могу изучить, обновить и внедрить эти системы в данный момент. Это выполняется локально, и моя текущая версия PHP 5.4.1 поддерживает эту функцию. Я понимаю, что PDO лучше, но пока это не вариант, поэтому, пожалуйста, не умаляйте меня с «сделайте это правильно» или «научитесь программировать». Это не проблема.
Я знаю, что происходит, и где и почему - mysql обрабатывает «как и конец строки». Но я не знаю, почему это происходит, когда я верю, что функция должна уйти от нее и разрешить ее в базу данных.
Чтобы догадаться, это то, что происходит.
«Сегодня очень серый и идет дождь» вводится в форму как $ bookingNotes. Затем скрипт вводит это в столбец TEXT базы данных. Но то, что появляется в базе данных;
«Сегодня очень серый и»
ТИА и спасибо за ответы до сих пор.
Где указаны $ bookingNotes и $ CID, они, кажется, не принимают значения из значений цикла looped –
, какую версию php вы используете? Исходное расширение mysql обесценивается из версий php 5.5.x. – Nishant
Возможно, это неправильно? -> '$$ key' – aldanux