对PHP上的SQL表使用DELETE

对PHP上的SQL表使用DELETE,php,html,sql,Php,Html,Sql,我有一个表,我想使用PHP Web界面删除一行。要做到这一点,我有两个PHP文件,必须有一个错误的地方。我认为这与playername是用字符写的这一事实有关,因为我举的例子中有一个应该作为整数删除的值 以下是两个文件(您可能可以忽略仅调用表的部分!): 1) pdelete.php 名称 团队 民族主义者 改变 位置 挑选 2) premove.php 我收到的错误消息(在本例中,我要删除的播放器名为“Thomas Müller”): 警告:pg_query():查询失败:错误:第

我有一个表,我想使用PHP Web界面删除一行。要做到这一点,我有两个PHP文件,必须有一个错误的地方。我认为这与playername是用字符写的这一事实有关,因为我举的例子中有一个应该作为整数删除的值

以下是两个文件(您可能可以忽略仅调用表的部分!):

1) pdelete.php


名称
团队
民族主义者
改变
位置
挑选
2) premove.php


我收到的错误消息(在本例中,我要删除的播放器名为“Thomas Müller”):

警告:pg_query():查询失败:错误:第1行“Müller”处或附近出现语法错误:从第13行的pplayers中删除,其中name=Thomas Müller^in/srv/pc8/home/h1354320/SR/www/premove.php 删除失败

对不起,格式不好。我希望它有点可读性。 提前谢谢

“Müller”第1行或其附近的语法错误:从pplayers中删除,其中name=Thomas Müller^in

您似乎完全搞乱了查询,因为这毫无意义:

pg_query("DELETE FROM pplayers WHERE name = " . test_input($_POST[name])) or die('Delete failed.');
您需要关闭查询。零件
或模具…
也是错误的。这在句法上会更好:

pg_query(sprintf("DELETE FROM pplayers WHERE name = '%s'",  test_input($_POST[name]))) or die('Delete failed.');
然而,您的
测试输入()
是相当垃圾的。有专门的函数可以为查询正确转义数据->

“Müller”第1行或其附近的语法错误:从pplayers中删除,其中name=Thomas Müller^in

您似乎完全搞乱了查询,因为这毫无意义:

pg_query("DELETE FROM pplayers WHERE name = " . test_input($_POST[name])) or die('Delete failed.');
您需要关闭查询。零件
或模具…
也是错误的。这在句法上会更好:

pg_query(sprintf("DELETE FROM pplayers WHERE name = '%s'",  test_input($_POST[name]))) or die('Delete failed.');

然而,您的
测试输入()
是相当垃圾的。有专门的函数可以为查询获取正确转义的数据->

pg\u查询(“从pplayers中删除,其中name=”。测试\u输入($\u POST[name])。“”)或死亡($删除失败)。

pg_查询(“从pplayers中删除,其中name=”。测试_输入($\u POST[name])。“”)或die(“删除失败”)

您需要在查询中的名称周围加引号。如何才能正确执行此操作?每当我尝试在查询中添加引号时,它都会显示不同的错误消息。您需要在查询中的名称周围加引号。如何正确执行此操作?每当我尝试在查询中添加引号时,它都会显示不同的错误消息。当回答问题时,它有助于解释为什么您的代码块可以解决问题,而不仅仅是提供解决方案本身--这有助于提问者意识到他们的逻辑哪里出了问题:)下次我会小心:)回答问题时,它有助于解释为什么你的代码块解决了问题,而不仅仅是提供解决方案本身——这有助于提问者意识到他们的逻辑哪里出了问题:)下次我会小心:)