Intereting Posts
Сравнение значений массива только одного массива Любая идея, почему я должен дважды щелкнуть кнопку выхода из системы, чтобы выйти из системы? Как выполнить команду в контроллере приложения Symfony2 и распечатать в режиме реального времени вывод в шаблоне Twig Как преобразовать хэш-информация о торрентах для очистки? Получение token_not_provided при использовании заголовка авторизации с JWT Laravel Как мы можем разделить предложение mysqli_num_rows () ожидает, что параметр 1 будет mysqli_result, объект Пустая страница, если я объявляю (strict_types = 1); в PHP 7 в верхней части файла Использование терминала, как мне заставить OS X использовать версию MAMPs PHP Удаление расширения PHP-файла при работе с файлами PHP Получение списка имен друзей из MySQL Определение наличия файла в Laravel 5 Как показать несколько recaptchas на одной странице? Как задать чередующиеся строки таблицы разными цветами фона с помощью PHP PHP DOMDocument для удаления HTML-тегов

PHP / mysql получает количество затронутых строк оператора UPDATE

С php / mysql, как я могу получить количество строк, на которые повлиял запрос?

что я пробовал до сих пор:

$result = mysql_query($q); mysql_num_rows($result); 

но он говорит, что предупреждение: mysql_num_rows (): предоставленный аргумент не является допустимым ресурсом результата MySQL

если вы используете PDO (который я бы рекомендовал), для прямого запроса exec() возвращает количество затронутых строк. для подготовленных rowCount() – метод, называемый rowCount() .

если вы используете mysql-функции , есть mysql_affected_rows() .

РЕДАКТИРОВАТЬ:
похоже, что вы используете mysql-функции. mysql_num_rows , который вы используете, возвращает длину вашего набора результатов (например, для SELECT-Statement). вам нужно использовать mysql_affected_rows (как уже говорилось).

Вы также можете использовать функцию ROW_COUNT () , например –

 UPDATE table1 SET column1 = 100 WHERE column2 = 10; SELECT ROW_COUNT(); 

Из справки – ROW_COUNT () возвращает количество строк, измененных, удаленных или вставленных последним оператором, если это UPDATE, DELETE или INSERT …

Вам нужно mysql_affected_rows

зажим,

вам необходимо предоставить ресурс mysql_affected_rows , а не запись результата. См. Ссылки, опубликованные другими пользователями для получения дополнительной информации.

 $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); $result = mysql_query($q); echo mysql_affected_rows($link); 

http://php.net/manual/en/function.mysql-affected-rows.php Действительно, просто прочитайте руководство.

Whe также может сделать это с помощью PDO:

 $db = new PDO('', '', '')// your connection $sql = "UPDATE tb_table SET rowname = value WHERE rowid = 1"; $query = $db->query($sql); echo $query;