[英]Prepared Statement Does not Exist
我正在嘗試根據新用戶的輸入來更新日歷的標題。
變量如下:
$titleNew = 'New Title'
$titleOld = 'Old Title'
舊標題存在於數據庫中,並且應進行相應更新,但是使用此代碼,我收到一條錯誤消息,提示我的准備語句不存在。
$result = pg_prepare($conn, "update", "UPDATE calendar SET title = $1 WHERE title LIKE $2");
$result = pg_execute($conn, "update", array($titleNew, $titleOld));
要查找表calendar
是否確實存在於您連接的數據庫中,請在同一會話中運行:
SELECT n.nspname As schema_name, c.relname As tbl_name
FROM pg_class c
JOIN pg_namespace n ON n.oid = c.relnamespace
WHERE c.relname ILIKE 'calendar';
我懷疑潛在的問題是表名或連接參數的混亂。您可能有:
search_path
設置,其中不包括表所在的架構。請使用以下命令檢查您的search_path: SHOW search_path;
"Calendar"
與(通常是首選的)小寫名稱calendar
混淆了起來。 如果您的search_path
沒有實際的模式,請search_path
:正確設置search_path
或對表名進行模式限定 :
UPDATE calendar.calendar SET title = $1 WHERE title = $2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.