2013-03-05 82 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