php - 尝试修复此 INSERT UPDATE on DUPLICATE 查询

标签 php mysql

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

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

session 带来的UserID

这是我要更正的查询

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

最佳答案

关于重复键更新查询has slightly different syntax :

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 注入(inject)和转义值的信息或使用伪造的语句。

附言您初始化变量 $userId,但稍后使用变量 $userID

关于php - 尝试修复此 INSERT UPDATE on DUPLICATE 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54897681/

相关文章:

php - 如何从表 WHERE "function_value"中选择*?在mysql中?

MySQl - AVG ( AVG IF) & 分组依据

mysql - 查找特定日期另一个表中不存在的内容

Mysql 查询 except 和 where

mysql - MySQL数据库的正确设计

php - PDO 类和 PDOStatement 类之间的关系

php - 错误 403 - 没有 storage.objects.create 访问权限

php - 如果一行中的 2 列与另一行匹配,则将其视为重复条目 MySQL

php - 用 PHP 处理 HTML 复选框表单

php - 覆盖服务器上的文件 (PHP)