MySQL row_count()函数总是返回0

时间:2014-05-27 08:39:34

标签: mysql phpmyadmin

我想在mysql中显示更新,插入或删除后受影响的行的结果。我已经把

DELETE FROM A WHERE ID='1';

SELECT ROW_COUNT();

使用ROW_COUNT最后一个语句,但结果显示我为0。

2 个答案:

答案 0 :(得分:1)

如果您想知道PHPMYADMIN中受删除查询影响的行数,那么通过运行您的查询,它将显示结果,请参见下面的屏幕截图:enter image description here

正如@Flash Thunder所说,PHPmyadmin不允许一次发送多个查询

如果你想看到受影响的行,那么你也可以使用PHP编写一个脚本,这将超越你的sql查询并返回受影响的行数

答案 1 :(得分:-2)

只是要清楚。

phpMyAdmin写在PHP中,PHP不允许一次发送多个查询...如果您分别发送两个查询,则第二个查询在新连接上,所以它无法访问以前的查询信息。这就是SELECT ROW_COUNT();返回0的原因。

但默认情况下,phpMyAdmin会在查询后返回受影响的行数。它可能使用mysql(i)_affected_rows()函数。

当没有先前的查询时,

FOUND_ROWS()返回数据库中的表数。

mysql> use hunting;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select found_rows();
+--------------+
| found_rows() |
+--------------+
|           24 |
+--------------+
1 row in set (0.00 sec)


mysql> show tables;

(...)

24 rows in set (0.00 sec)