【问题标题】:PostgreSQL Update a row of a tablePostgreSQL 更新表的一行
【发布时间】:2020-08-10 07:35:29
【问题描述】:

变量:

 $Dream =($_POST['Dream']);
 $Price =($_POST['Price']);
 $Delivery =($_POST['Delivery']);

PostgreSQL:

 $result = pg_query($conn, "UPDATE dream SET name = '$Dream', price = '$Price', 
 delivery = '$Delivery' FROM (SELECT imageID, name, price, delivery) WHERE 
 imageID=1");

我想更新 imageID 为 1 的行。 如果有人能指出我哪里出错了,请提前谢谢你。 当前代码未运行并以 HTTP 错误 500 结束。

【问题讨论】:

  • 学习使用参数,这样您就不会使用文字值来修改查询字符串。
  • 谢谢,在这种特殊情况下,尽管我正在使用它们,但它们需要是文字值。
  • 。 .从来没有需要在查询中为常量使用文字值。如果您要替换标识符、函数或运算符,则会出现问题。但是常量值总是可以使用参数的。

标签: php html sql database postgresql


【解决方案1】:
 $result = pg_query($conn, "UPDATE dream SET name = '$Dream', price = '$Price', 
 delivery = '$Delivery' WHERE  imageID=1");

您不需要FROM (SELECT imageID, name, price, delivery) 部分

你可以试试:

 $result = pg_query($conn, "UPDATE dream SET name = '".$Dream."', price = '".$Price."', delivery = '".$Delivery."' WHERE  imageID=1");

【讨论】:

  • 谢谢,我删除了它,但它仍然没有运行。有什么明显的错误你能看到吗?
  • 用建议编辑了我的答案。虽然不是那么精通 php,我最初的答案应该适用于 php 和 mysql,但我猜 postgres 有点自命不凡:)。如果失败,我建议尝试使用phptutorial.info/?pg-query-params。还要用简单的选择替换您的查询,以排除可能导致 500 错误的代码的其他部分没有任何问题
  • 感谢您的帮助,它接受了,确实自命不凡。再次感谢!
猜你喜欢
  • 1970-01-01
  • 2021-07-21
  • 2011-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多