Что я делаю не так в этом обновлении?Mysqli - PullRequest
0 голосов
/ 23 мая 2018

В соответствии с этим синтаксисом:

Вот общий синтаксис SQL команды UPDATE для преобразования данных в таблицу MySQL -

UPDATE table_name SET field1 = new-value1, field2 = new-value2 [WHERE Clause]

из https://www.tutorialspoint.com/mysqli/mysqli_update_query.htm

Iсделал это:

$query = mysqli_query($MYSQL_CONNECT, "UPDATE forum_topics SET player_userid = ".$player_userid.", titulo = ".$titulo.", msg = ".$msg.", data = ".$data." WHERE UserID=".$inTopic."");
mysqli_query($MYSQL_CONNECT,$query);

Но на линии:

mysqli_query($MYSQL_CONNECT,$query);

Показывает:

mysqli_query (): пустой запрос в / var / www / html/ucp/php_func/edit_topic.php в строке 30

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Основная проблема в том, что вы пытаетесь выполнить запрос дважды .И вторая попытка недопустима, потому что там, где она ожидает строковый запрос, вы передаете ему объект результата или логическое значение (если первый запрос не удался).

Просто выполните свой запрос один раз :

$query = mysqli_query($MYSQL_CONNECT, "...");

Тогда результатом будет $query.

Дополнительно , у вас есть проблема с тем, что ваш код открыт для SQL-инъекция , и вы не проверяете ошибки.Если mysqli_query() возвращает false, вам нужно проверить, что пошло не так, используя mysqli_error($MYSQL_CONNECT), который возвращает ошибку в виде строки.

В случае проблемы с внедрением SQL вы должны обработатьзначения как значения (параметры запроса), а не как исполняемый код (путем объединения их непосредственно в запрос). Это отличное место, чтобы узнать больше об этом. Обратите внимание, что SQL-инъекция - это не только проблема безопасности , но и очень распространенный источник ошибок и ошибок ,Поскольку в данный момент у вас возникает именно эта проблема, ее стоит исправить.

0 голосов
/ 23 мая 2018

Вы должны заключить переменные в одинарные кавычки, попробуйте:

$query = mysqli_query($MYSQL_CONNECT, "UPDATE forum_topics SET player_userid = '".$player_userid."', titulo = '".$titulo."', msg = '".$msg."', data = '".$data."' WHERE UserID='".$inTopic."'");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...