SQL-запрос не читает переменные - PullRequest
0 голосов
/ 19 ноября 2010

Мой запрос ниже обновляет запись, используя переменные для идентификации данных в БД. Я думаю, что мой синтаксис правильный, хотя он может быть и неправильным. Кроме того, я абсолютно уверен, что переменные имеют допустимые значения в них. Почему этот запрос не работает?

UPDATE  `databasename`.`".$tablename."` SET  `stock` =  '".$f."' WHERE  `myerspark`.`item_id` ='".$g."' LIMIT 1

Спасибо, ребята. Том, да, я пробовал это, и это прекрасно работает. Но это расстраивает, потому что я повторяю все три переменные в конце скрипта, и все они отображают допустимые значения.

Хэмиш, как мне просмотреть эти ошибки?

Jon_Darkstar, эти переменные назначены в предыдущих строках кода. Вот весь мой блок кода:

//variables $f, $g, and $tablename assigned from POST variables in previous lines
mysql_select_db($database_Yoforia, $Yoforia);
mysql_query("UPDATE `yoforiainventory`.`".$tablename."` SET `stock` =  '".$f."' WHERE `".$tablename."`.`item_id` ='".$g."' LIMIT 1 ");
mysql_close($Yoforia);

echo ($f);
echo ($tablename);
echo ($g);

Опять же, когда я повторяю эти переменные, все они имеют хорошие значения.

1 Ответ

1 голос
/ 19 ноября 2010

Я немного сбит с толку тем, что принадлежит SQL, что относится к PHP, откуда взята эта строка и т. Д. Что у вас может быть хорошо (если есть двойная кавычка в начале и конце, которую я не вижу.

Я бы, наверное, написал это так:

$sql = "UPDATE databasename.$tablename SET stock = '$f' WHERE myerspark.item_id = '$g' LIMIT 1"
$res = mysql_query($sql, $conn).....

вы можете откинуть еще вещи (и / или сделать mysql_real_escape) для «дополнительной безопасности», но это охватывает идею.

Что такое майспарк? я не вижу, как это относится к запросу, то есть, вероятно, вы действительно значимая ошибка, независимо от того, есть синтаксическая ошибка или нет. Если myerspark - это отдельная таблица из tablename, то у вас возникла проблема, может быть, вам нужно JOIN?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...