Моя система заставляет пользователя вводить счет, который затем добавляется в базу данных через этот php.Он будет обновляться только в том случае, если значение уже было вставлено (в настоящее время) - есть ли способ использовать обновление вставки в дубликате с использованием этого синтаксиса, позволяющего обновлять счет на основе идентификатора SESSION?
<?php
include("php/functions.php");
include('connections/conn.php');
$userID = $_SESSION["userID"];
//echo "all good here";
$newsselfesteemscore = mysqli_real_escape_string($conn, $_POST['selfesteemscore']);
/**$insertquery1 = "UPDATE selfesteemscore SET selestscore = '$newsselfesteemscore' , UserID = '$userID' ";**/
$insertquery1 = "UPDATE selfesteemscore SET selestscore = '$newsselfesteemscore' WHERE UserID = '$userID' ";
$result1 = mysqli_query($conn, $insertquery1) or die(mysqli_error($conn));
mysqli_close($conn);
?>
Попытка ниже
$newsselfesteemscore = mysqli_real_escape_string($conn, $_POST['selfesteemscore']);
$insertquery1 = "INSERT INTO selfesteemscore(selestscore, UserID) VALUES('$newsselfesteemscore', '$userID')"
. " ON DUPLICATE KEY UPDATE selfesteemscore SET selestscore = '$newsselfesteemscore' WHERE UserID = '$userID' ";
var_dump(mysqli_error($conn));
$result1 = mysqli_query($conn, $insertquery1) or die(mysqli_error($conn));
mysqli_close($conn);
?>
Ошибка, возникающая после удаления компонента WHERE
string(0) "" You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET selestscore = '17' , UserID = '25'' at line 1
$insertquery1 = "INSERT INTO selfesteemscore(selestscore, UserID) VALUES('$newsselfesteemscore', '$userID')"
. " ON DUPLICATE KEY UPDATE selfesteemscore(selestscore, UserID) VALUES ('$newsselfesteemscore' , UserID = '$userID') ";
var_dump(mysqli_error($conn));
$result1 = mysqli_query($conn, $insertquery1) or die(mysqli_error($conn));
mysqli_close($conn);
?>
string(0) "" You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(selestscore, UserID) VALUES ('17' , UserID = '25')' at line 1