Я собираюсь обновить множество строк базы данных, и я хочу знать, сколько строк я обновил.
Пример: если у меня есть база данных со следующими 4 строками
INSERT INTO `drink` VALUES (1, 'Non-Alcoholic', 'tea'); INSERT INTO `drink` VALUES (2, 'Non-Alcoholic', 'tea'); INSERT INTO `drink` VALUES (3, 'Non-Alcoholic', 'coffee'); INSERT INTO `drink` VALUES (4, 'Non-Alcoholic', 'pepsi');
и я собираюсь сделать обновления, используя следующие
$sql= "update drink set cat='tea' WHERE cat= 'Non-Alcoholic' AND subcat = 'tea'";
было бы ясно, что он обновит только 2 строки
INSERT INTO `drink` VALUES (1, 'tea', 'tea'); INSERT INTO `drink` VALUES (2, 'tea', 'tea'); INSERT INTO `drink` VALUES (3,'Non-Alcoholic', 'coffee'); INSERT INTO `drink` VALUES (4,'Non-Alcoholic', 'pepsi');
Теперь мой вопрос, как я знаю, сколько строк он обновил, я хочу, чтобы это отображалось как сообщение или что-то еще, но я должен это знать.
поэтому любая идея или как это сделать спасибо вам за помощь
mysql_affected_rows
: получить количество затронутых строк в предыдущей операции MySQL:
... $updated_count = mysql_affected_rows(); ...
Поместите вышеуказанный оператор после ваших запросов, чтобы подсчитать затронутые строки.
Вы можете использовать php-функцию mysql_affected_rows()
или mysqli_affected_rows()
Или выполните инструкцию update с помощью инструкции sql.
SELECT row_count() as affected_rows
Mysql: http://www.php.net/manual/en/function.mysql-affected-rows.php
Mysqli: http://php.net/manual/en/mysqli.affected-rows.php http://dev.mysql.com/doc/refman/5.0/en/information-functions.html
Вам нужно mysqli::affected_rows();
Использовать mysql_affected_rows
http://php.net/manual/ro/function.mysql-affected-rows.php
Вы можете сделать это с помощью PHP: mysql_affected_rows () или в C: mysql_info ()
Этот код будет подсчитывать количество строк (записей / записей) в таблице базы данных MySQL, а затем отображать их с помощью эха на экране
<?php // Connect to the database db_connect(); // Query the database and get the count $result = mysql_query("SELECT * FROM drink"); $num_rows = mysql_affected_rows($result); // Display the results echo $num_rows; ?>