我似乎無法弄清楚這段 PHP 代碼有什么問題:$sql?=?$db->prepare("SELECT?EXISTS(SELECT?1?FROM?profile?WHERE?uid?=??)");??
??????????$p_already_exists?=?$sql->execute([$_SESSION['uid']]);我正在運行 sqlite3 PDO 模塊,無論“uid”是否在數(shù)據(jù)庫中,$p_already_exists 始終被分配為 1。如果它不在數(shù)據(jù)庫中,我希望它為 0,如果數(shù)據(jù)庫中至少有一條記錄,則為 1。我已經(jīng)仔細(xì)檢查過,回顯 $_SESSION['uid'] 為我提供了與數(shù)據(jù)庫中的 uid (TEXT) 相同的值。有誰知道為什么這對我不起作用?歸根結(jié)底,我只是在尋找一種返回布爾值的有效方法(這就是為什么我不使用 COUNT 的原因)。
1 回答

大話西游666
TA貢獻1817條經(jīng)驗 獲得超14個贊
PDOStatement::execute()
返回一個布爾值,成功時返回 TRUE,失敗時返回 FALSE:
https://www.php.net/manual/en/pdostatement.execute.php
如果您想獲取 SQL 語句執(zhí)行返回的實際結(jié)果,而不是執(zhí)行本身的狀態(tài),您應(yīng)該使用其中一個函數(shù),fetch*
例如fetchColumn()
after call execute()
。
- 1 回答
- 0 關(guān)注
- 148 瀏覽
添加回答
舉報
0/150
提交
取消