2013-03-05 79 views
0
echo $_POST['IDnum']; 
$result = pg_prepare($conn, "city_delete", 
    "DELETE FROM lab5.city WHERE lab5.city.id = $1"); 
$result = pg_execute($conn, "city_delete", array($_POST['IDnum'])); 

這顯示了要刪除的行的正確ID號,並將在PSQL中刪除它,但在PHP內部實現時不會刪除?有任何想法嗎?在PHP中不刪除SQL語句

+1

嗯......小心實際上我們展示的代碼? – 2013-03-05 18:29:26

+0

你從mysql命令行嘗試過嗎?我是一個像phpmyadmin這樣的工具嗎?你會得到什麼錯誤?你確認你的查詢是正確的嗎? – 2013-03-05 18:29:29

+0

不知道沒有看到代碼。 – Kaf 2013-03-05 18:30:27

回答

1

試試這個:你用

$result = pg_prepare($conn, "city_delete", 
'DELETE FROM lab5.city WHERE lab5.city.id = $1'); 

雙引號使$ 1 PHP變量而不是一個字符串。

見的例子爲pg_prepare這裏:http://php.net/manual/en/function.pg-prepare.php

+0

pg_prepare()期望參數1是資源,給定爲null。這是我用單引號運行時的錯誤。 – 2013-03-05 19:37:14

+0

第一個參數是$ conn,它表示缺少一個數據庫連接(提到的資源)..查看更多信息:http://www.php.net/manual/en/function.pg-connect.php – Oli 2013-03-05 20:30:16

+1

如果有人在將來讀這個答案:PHP中的變量名必須以[a-zA-Z_]開頭(以及字節0x7f到0xff,儘管在這裏不重要)。在這種情況下雙引號不會引起可變插值。 – 2013-03-23 15:59:11