나는 쉽게 찾을 수 있어야하는 것처럼 보이는이 오류를 얻고 있습니다. 그러나 코드를 얼마나 많이 보든 Google에서 찾든 상관 없습니다. 여기SQL 구문에 오류가 있습니다. 'SET`points` =`points` +?'근처에 있습니다.
코드
INSERT INTO `users` (`username`)
VALUES (?)
ON DUPLICATE KEY
UPDATE `users` SET `points` = `points` + ?
는 IS? 이후 제조 된 문장을 사용하여 값을 부여하지만 테스트 I 아래
INSERT INTO `users` (`username`)
VALUES (`existingusername`)
ON DUPLICATE KEY
UPDATE `users` SET `points` = `points` + 5
같이 실제 값들을 대체 I는 값으로 nonextistingusername
시도. 나는 또한 "points
주위에 괄호를 시도 : 나는 ON DUPLICATE KEY UPDATE
을 사용하고 있기 때문에 나는 내가 잘못 여기
편집을거야 어디 표시되지 않습니다 UPDATE
에 대한 WHERE
을 사용하여 시도하지만, 필요하지 않은 생각 + 5 "
편집 : 더 코드
foreach ($users as $user)
{
$points_query = mysqli_prepare($db, 'INSERT INTO `users` (`username`)
VALUES (?)
ON DUPLICATE KEY
UPDATE `users` SET (`points` = `points` + ?)');
mysqli_stmt_bind_param($points_query, 'si', $user, $user_points);
mysqli_stmt_execute($points_query);
echo mysqli_error($db) . "\n";
}
그리고 SQL 오류
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 (`points` = `points` + ?)' at line 4
당신은 PHP 코드와 질문에 대한 오류 메시지를 추가 할 수 있습니까? – chris85
@ chris85 업데이트했습니다. 덕분에 – cantsay