【问题标题】:What is the correct syntax to for and SQL update in php?php中for和SQL更新的正确语法是什么?
【发布时间】:2018-12-03 14:14:22
【问题描述】:

我正在尝试使用 html 和 php 更新数据库中的条目。但是,我不断收到错误消息,说我的 sql 语法错误。

这是来自 php 文件的代码:

<?php 
$server = "127.0.0.1";
$dbUsername = "root";
$dbPassword = "";
//create connection
$dbconn = new mysqli($server, $dbUsername, $dbPassword, $dbname);

 $email_follow = $_POST['email_follow'];
 $follow = $_POST['follow'];

 $update = mysqli_query($dbconn, "UPDATE CustomerDetails SET Follow Up = '$follow' WHERE Email = '$email_follow'");

if ($dbconn->query($update) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $dbconn->error;
}
 ?>

这里是html表单:

<form action="cust_details_followup.php" method="post">       

Email:
<input type="email" name="email_follow" id="email_follow">

Enter Follow Up Details:
<input type="text" name="follow" id="follow">


<input type="submit" value="Update">

</form>

感谢任何帮助。谢谢!

【问题讨论】:

标签: php html mysql xampp


【解决方案1】:

你的table属性Follow Up有空格,需要加`包裹起来

所以改变

UPDATE CustomerDetails SET Follow Up = '$follow' WHERE Email = '$email_follow'

UPDATE CustomerDetails SET `Follow Up` = '$follow' WHERE Email = '$email_follow'

【讨论】:

  • 我是用反引号还是单引号?
  • 这个答案是不正确的,因为它使用单引号,当你必须使用反引号时。
  • @zaveriraj2 更新了我的答案,你需要使用反引号
【解决方案2】:

需要使用点运算符,需要使用tick代替单引号

勾选 - Follow Up - 正确。

$query = "UPDATE CustomerDetails
    SET `Follow Up` = '".$follow."'
    WHERE Email = '".$email_follow."'";

$update = mysqli_query($dbconn, $query);

【讨论】:

  • 投反对票的人不要忘记在您投反对票时写评论。
  • 当我尝试这个时它无法识别 WHERE 关键字。
  • Follow Up 仍然会报错。 @lucumt 提供的答案是正确的。
  • @dave 你确定 lucumt 查询产生正确的结果吗?
  • @zaveriraj2 你应该定义“不识别”或评论实际错误我会更容易让我们解决问题。
【解决方案3】:

试试下面的代码

UPDATE CustomerDetails SET `Follow Up` = '".$follow."' WHERE Email = '".$email_follow."'

【讨论】:

    猜你喜欢
    • 2018-11-14
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多