Mysql запрос, кажется, работает, но все еще получаю ошибку? - PullRequest
0 голосов
/ 31 декабря 2011

Я выполняю следующее, и похоже, что он извлекает данные из массива, поскольку ошибка содержит все данные, которые я запросил, поэтому я не уверен, почему я получаю сообщение об ошибке:

<?php
$user = $_POST[cf_id];
$form = $_POST[uid];
$date = date("d-m-Y"); 
$query = mysql_query("UPDATE hqfjt_chronoforms_data_addupdatelead SET '".$form."' = '".$date."' WHERE cf_id = '".$user."' ")
or die(mysql_error());
?>

Я получаю ошибку:

У вас ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного использования синтаксиса около '' 185cfb5654aacf3038e3f26491f227356b5d768f '= '30 -12-2011' ГДЕ cf_id = '32' 'в строке 1

Как вы видите, данные извлекаются, поэтому не уверены, что у меня где-то есть синтаксическая ошибка?

Ответы [ 4 ]

3 голосов
/ 31 декабря 2011

Если `$form` является столбцом, не используйте кавычки ('), а используйте ударения (`). (так что сделайте это `$form`)

0 голосов
/ 31 декабря 2011

Проблема в том, что то, что вы называете $ form, используется в качестве имени столбца. Поскольку вы заполняете его из параметра записи с именем UID, я предполагаю, что это неверно. То, что вы, вероятно, хотите, что-то более похожее на:

"UPDATE hqfjt_chronoforms_data_addupdatelead SET `date` = '".$date."' WHERE cf_id = '".$user."' and `uid` = " . $form;

Я уверен, что это не точно, но просто не имеет смысла использовать UID в качестве имени столбца.

0 голосов
/ 31 декабря 2011

попробуйте это: mysql_real_escape_string

<?php
$user = mysql_real_escape_string($_POST[cf_id]);
$form = mysql_real_escape_string($_POST[uid]);
$date = mysql_real_escape_string(date("d-m-Y")); 
$query = mysql_query("UPDATE hqfjt_chronoforms_data_addupdatelead SET '".$form."' = '".$date."' WHERE cf_id = '".$user."' ")
or die(mysql_error());
?>
0 голосов
/ 31 декабря 2011

$ 10 говорит, что в вашей строке есть апостроф, и вы не удосужились избежать его, оставив себя открытым для атак с использованием SQL-инъекций.

...