我有這個疑問:爲什麼這個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一起使用。 –