php中for和SQL更新的正确语法是啥?

Posted

技术标签:

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

我正在尝试使用 htmlphp 更新数据库中的条目。但是,我不断收到错误消息,说我的 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>

感谢任何帮助。谢谢!

【问题讨论】:

When to use single quotes, double quotes, and back ticks in MySQL的可能重复 【参考方案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."'

【讨论】:

以上是关于php中for和SQL更新的正确语法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

php代码中的错误mysql更新命令

我的更新 sql 查询一直说语法错误,但我不知道它是啥

wpdb中CONCAT的正确语法是啥?

hive和mysql的区别是啥?

MariaDB 中的语法更新 id 失败

更新数据表的关键字是啥