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

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