【发布时间】:2015-09-17 11:47:59
【问题描述】:
当我运行这个页面时,它会显示You couldnt execute query。我认为有语法问题,但我看不到问题。
当我回显它们时,这些变量看起来很好。我将列名添加为代码注释。所有的列都是VARCHAR。
我不认为这是连接问题,因为我可以从其他 php 页面执行 SELECT AND DELETE 操作。
<?php
$id = $_POST["id"];
$name = $_POST["name"];
$surname = $_POST["surname"];
$phone = $_POST["phone"];
/* Table in the DDBB(all are VARCHAR): CUST_ID CUST_FORENAME CUST_PHONE CUST_SURNAME*/
$query = "UPDATE customers SET CUST_ID='$id',$CUST_FORENAME='$name',
CUST_PHONE='$phone', CUST_SURNAME='$surname' WHERE CUST_ID=$id";
$result = mysqli_query ($connection,$query)
or die ("You couldn’t execute query");
echo "<br /><br />User $id has been updated.";
?>
</div>
</body>
</html>
【问题讨论】:
-
不要在 SQL 查询中使用字符串连接。使用准备好的语句。
-
把你的
die("You couldn't...")函数改成die(mysqli_error($connection)),这样你就会看到错误描述了。 -
将
$id放入报价'$id' -
$CUST_FORENAME='$name'?你不应该删除第一个字符吗? :),如CUST_FORENAME='$name' -
您是否包含了连接所在的页面
标签: php html sql sql-update