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 【问题描述】:我正在尝试使用 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>
感谢任何帮助。谢谢!
【问题讨论】:
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更新的正确语法是啥?的主要内容,如果未能解决你的问题,请参考以下文章