【问题标题】:Confused about PHP syntax for inserting variables in SQL query对在 SQL 查询中插入变量的 PHP 语法感到困惑
【发布时间】:2018-11-16 02:45:47
【问题描述】:
$firstName = mysqli_real_escape_string($dbcon, $_POST['newFirstName']);
$lastName = mysqli_real_escape_string($dbcon, $_POST['newLastName']);
$emailAddress = mysqli_real_escape_string($dbcon, $_POST['newEmailAddress']);

$sqlQuery = "INSERT INTO admins (firstname, lastname, email) VALUES ('$firstName','$lastName','$emailAddress')
  ON DUPLICATE KEY UPDATE firstname ='".$firstName."' lastname='".$lastName."' email='".$emailAddress."'";

我的问题在最后一行。 AFAIK 你必须为 PHP 使用双引号才能将你的变量实际插入到字符串中,但无论我使用什么引号都会出错。插入变量的正确语法是什么?

【问题讨论】:

标签: php sql syntax


【解决方案1】:

您应该用逗号分隔要更新的列。例如:

ON DUPLICATE KEY UPDATE firstname ='".$firstName."', lastname='".$lastName."', 
email='".$emailAddress."'";

【讨论】:

    【解决方案2】:

    您在更新的参数之间的 SQL 查询中缺少逗号。

    另外对于你的更新语句,你需要指定表和SET:

    "Update admins
    Set firstname = '". $firstname . "' , lastname = '" . $lastname . "' " etc.
    

    【讨论】:

    • 太棒了。我到底要把它放在哪里?
    • 在“重复键”之后代替您当前的更新语句。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2019-11-14
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多