Запутался в синтаксисе PHP для вставки переменных в SQL-запрос - PullRequest
0 голосов
/ 06 июня 2018
$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, чтобы фактически вставить вашу переменную в строку, но независимо от того, какие кавычки я использую, я получаю ошибки.Какой правильный синтаксис для вставки переменных?

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Вы должны разделять колонки, которые вы обновляете, запятыми.например:

ON DUPLICATE KEY UPDATE firstname ='".$firstName."', lastname='".$lastName."', 
email='".$emailAddress."'";
0 голосов
/ 06 июня 2018

В вашем запросе SQL между параметрами, которые вы обновляете, отсутствуют запятые.

Кроме того, для оператора обновления необходимо указать таблицу и SET:

"Update admins
Set firstname = '". $firstname . "' , lastname = '" . $lastname . "' " etc.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...