0

PHP 和 SQL 的新手试图使语法正确

<?php
include("php/functions.php");
$userId = $_SESSION['userID'];
include("connections/conn.php");
?>

会话带来的用户 ID

这是我要纠正的查询

$insertquery1 = "INSERT INTO 
selfesteemscore(selestscore, UserID) VALUES('$newsselfesteemscore', '$userID' ON DUPLICATE KEY UPDATE selfesteemscore SET selestscore = '$newsselfesteemscore' , UserID = '$userID' ";

4

1 回答 1

3

重复键更新查询的语法略有不同

INSERT INTO  selfesteemscore (
      selestscore
    , UserID
) VALUES(
      'NEW VALUE'
    , 'NEW USER ID VALUE'
)
ON DUPLICATE KEY UPDATE 
      selestscore = 'NEW VALUE'
    , UserID = 'NEW USER ID VALUE'
;

或者更好的是,不要重复两次新值:

INSERT INTO  selfesteemscore (
      selestscore
    , UserID
) VALUES(
      'NEW VALUE'
    , 'NEW USER ID VALUE'
)
ON DUPLICATE KEY UPDATE 
      selestscore = VALUES(selestscore)
    , UserID = VALUES(UserID)
;

警告:阅读有关 SQL 注入和转义值或使用已准备好的语句的信息。

PS你初始化变量$userId,但后来使用变量$userID

于 2019-02-27T03:47:53.453 回答