Mysqli num_rows() ничего не возвращает/ноль после выполнения запроса INSERTPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Mysqli num_rows() ничего не возвращает/ноль после выполнения запроса INSERT

Сообщение Anonymous »

Я прочитал много тем с одной и той же проблемой, но ни одна из них не решила мою проблему.

У меня есть следующий код:

Код: Выделить всё

$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 не возвращает ни одной строки, как я могу проверить, успешен ли запрос?

ЕЩЕ ОДНО ИЗМЕНЕНИЕ: Во-первых, кто-то посоветовал мне использовать effect_rows вместо num_rows, что я вполне понимаю. Каким-то образом это все равно не сработало, поэтому один из вас попросил меня активировать отчет об ошибках в моем php-скрипте, и теперь я получил следующие два сообщения об ошибках (одно уведомление и одно фатальная ошибка):

Примечание: попытка получить свойство необъекта на (моей веб-странице) в строке XX

Неустранимая ошибка: вызов функция-член close() для необъекта на (моей веб-странице) в строке XX

Уведомление относится к строке $rows = $success->affected_rows; ( Я заменил на это $rows = $success->num_rows). (Я прокомментировал цикл while).

Вторая ошибка, из-за которой экран гаснет, относится к $success->close();, той, что в else -пункт. Это означает, что

а) он не обнаруживает, ЧТО что-то было изменено, и

б) что у него возникла проблема с закрытием запроса.

Может кто-нибудь объяснить мне, почему? Я проверил свою базу данных, и запрос INSERT удался, поэтому он должен был перейти в if, а не в else. И почему он не хочет, чтобы я закрыл запрос? Я предполагаю, что обе эти ошибки как-то связаны друг с другом. Заранее спасибо, ребята. Извините, что между моим новым постом прошло много времени, но нужно время, чтобы разобраться и особенно записать это.

Подробнее здесь: https://stackoverflow.com/questions/450 ... sert-query
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»