Я прочитал много тем с одной и той же проблемой, но ни одна из них не решила мою проблему.
У меня есть следующий код:
$connection = mysqli_connect('...');
if(mysqli_connect_errno()) {
die('Connect Error');
}
$connection->set_charset("utf8");
$success = $connection->query("INSERT INTO hilde_entrys (Comment, Refer_ID, Account_Adress) VALUES ('".$_POST["comment"]."','".$GET["id"]."','".$userData["user_address"]."')");
$success->store_result(); //I did this as it helped some people - it didn´t help me :(
$rows = $success->num_rows;
while($row = $success->fetch_row()) { //This whole while-loop helped some other guy on stackoverflow - not me
$rows = $success->num_rows; //Incrementing by 1 each time
}
$rows = $success->num_rows; // Finally the total count
if ($rows > 0) { //What I actually intended to do with the num_rows...
$success->free();
$success->close();
$connection->close();
} else {
$success->free();
$success->close();
$connection->close();
die("Query failed.");
}
Каким-то образом, хотя я перепробовал все возможное, он просто не вернул ничего ожидаемого. (Да, запрос и все остальное работает. Пробовал.). Что не так?
Заранее спасибо за ответы,
VicStudio
О, кстати: даже когда я удаляю $success->free();
, это ничего не меняет с num_rows
....
EDIT: после того, как вы, ребята, сказали мне, что INSERT
не вернет никаких строк, как я могу проверить, успешно ли выполнен запрос?
ЕЩЕ ОДНА ПРАВКА: во-первых, кто-то сказал мне использовать затронутые_строки вместо num_rows, что я сейчас понимаю. Почему-то это все еще не работало, поэтому один из вас попросил меня активировать отчеты об ошибках в моем php-скрипте, и теперь я получил следующие два сообщения об ошибках (одно уведомление и одно фатальная ошибка):
Примечание: попытка получить свойство не-объекта в (моей веб-странице) в строке XX
Неустранимая ошибка: вызов функции-члена close() для не-объекта in (моя веб-страница) в строке XX
Уведомление относится к строке $rows = $success->affected_rows;
(я заменил $rows = $success->num_rows
на это). (Я прокомментировал цикл while).
Вторая ошибка, из-за которой экран становится пустым, относится к $success->close();
, той, что в предложении else. Это означает,
а) он не обнаруживает, ЧТО что-то было изменено, и
б) что у него проблема с закрытием запроса.
Может ли кто-нибудь объяснить мне, почему? Я проверил свою базу данных, и INSERT-запрос удался, поэтому он должен был попасть в if, а не в else. И почему он не хочет, чтобы я закрывал запрос? Я предполагаю, что обе эти ошибки имеют какое-то отношение друг к другу. Заранее спасибо, ребята. Извините за долгое время между моим новым постом, но требуется время, чтобы разобраться в вещах и особенно записать их.