PHP не выполняет MySqli Query - PullRequest
       2

PHP не выполняет MySqli Query

0 голосов
/ 01 сентября 2018

Большая часть этого кода работает просто отлично, база данных обновляется, когда я нажимаю на кнопку, но последний запрос (ОБНОВЛЕНИЕ) по какой-то причине не выполняется. Я попытался включить журнал MySQL на phpmyadmin, но даже там он не выполняется. Это не показывает мне никакой ошибки, и я действительно не знаю, что может быть не так.

$query = "SELECT username, coins FROM users WHERE userid='$userid' LIMIT 1";
$result = mysqli_query($db, $query);
$user = mysqli_fetch_assoc($result);
$_SESSION['username'] = $user['username'];
$_SESSION['coins'] = $user['coins'];

$op = $user['username'];
$op = mysqli_real_escape_string($forumdb, $op);
$postcontent = $_POST['postcontent'];
$postcontent = mysqli_real_escape_string($forumdb, $postcontent);
$posttitle = $_POST['posttitle'];
$posttitle = mysqli_real_escape_string($forumdb, $posttitle);
$sectionid = $_GET['sectionid'];
$sectionid = mysqli_real_escape_string($forumdb, $sectionid);

$query = "INSERT INTO topic (section_id, name, replies, op, lastpost, lastuserid, views, sticked) values('$sectionid', '$posttitle', '0','$op', CURRENT_TIMESTAMP(),'$userid', '0', '0')";
$result = mysqli_query($forumdb, $query) or trigger_error("Query Failed! SQL: $query - Error: ".mysqli_error($forumdb), E_USER_ERROR);

$last_id = mysqli_insert_id($forumdb);

$query = "INSERT INTO posts (topic_id, content, user_id) values('$last_id', '$postcontent', '$userid')";
mysqli_query($forumdb, $query);

$query = "UPDATE section SET lastpost='$username', threads=threads+1, posts=posts+1 WHERE id='$sectionid'";
mysqli_query($forumdb, $query) or trigger_error("Query Failed! SQL: $query - Error: ".mysqli_error($forumdb), E_USER_ERROR);

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Вы можете использовать следующее для решения вашей проблемы:

"UPDATE `section` SET `lastpost`='$username', `threads`=threads+1, `posts`=posts+1 WHERE `id`='$sectioni
0 голосов
/ 01 сентября 2018

Было бы полезно, если бы вы объяснили, что означает "не выполняется по какой-то причине".

Либо вы получаете сообщение об ошибке, указывающее, что SQL был недействительным во время выполнения, либо выполнение продолжилось, и данные не были изменены.

Не зная, в чем заключалась ошибка, мы не можем посоветовать, что могло вызвать ошибку. Если выполнение продолжалось, но запись не была (очевидно) обновлена, то это должно быть потому, что предложение WHERE оператора update не соответствует ни одной строке. Вы можете убедиться в этом, проверив mysqli_affered_rows () .

Запросы, которые вы выполняли ранее, будут в общем журнале mysql. Вы можете захотеть Выведите оператор SQL в вывод и убедитесь, что он заполнен так, как вы ожидаете

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