我有这个疑问:为什么这个mysql查询不起作用?
$q = $dbc -> prepare("SELECT * FROM mailbox WHERE msgTo = ? && read = 0");
$q -> execute(array($user['id']));
$mailboxCount = $q -> rowCount();
现在在我的表我有
msgTo = 1, read = 0
$用户[ '身份证']等于
但行数返回0为什么是这样?
我有这个疑问:为什么这个mysql查询不起作用?
$q = $dbc -> prepare("SELECT * FROM mailbox WHERE msgTo = ? && read = 0");
$q -> execute(array($user['id']));
$mailboxCount = $q -> rowCount();
现在在我的表我有
msgTo = 1, read = 0
$用户[ '身份证']等于
但行数返回0为什么是这样?
PDOStatement-> rowCount时 - 返回受 最后一个SQL语句
PDOStatement对象:: rowCount时(行数)返回受影响的行数由 最后DELETE,INSERT或UPDATE对应执行的语句 PDOStatement对象。
看到这个example
,并明确
书面对于大多数数据库,PDOStatement对象:: rowCount时()不返回 数量的影响SELECT语句行。相反,使用 PDO :: query()发出一个SELECT COUNT(*)语句,其谓词与您预期的SELECT语句相同,然后使用 PDOStatement :: fetchColumn()来检索将返回 的行数。
'&&'?在SQL查询?真? – Lukman
是的,它在PDO中有效 – PHP
rowCount不保证与select一起使用。 –