php – обновить sql-оператор с краткими строками

Я знаю, что эта проблема уже существует, но я не могу понять, как ее решить в моем случае. Я пытаюсь использовать оператор UPDATE с sql, но у меня проблема при работе с краткими строками.

Это мой код:

$body = file_get_contents('php://input'); $jsonArray = json_decode($body, true); $sql = array(); foreach ($jsonArray as $row) { $sql[] = '("'.$row['firstname'].'", "'.$row['lastname'].'", "'.$row['sex'].'", "'.$row['dateOfBirth'].'", "'.$row['email'].'")'; } $column_name = "(firstname, lastname, sex, dateOfBirth, email)"; $stringImplode = implode(',', $sql); $action = $mysqli->query('INSERT INTO tbl_syncList '. $column_name .' VALUES '.$stringImplode .'ON DUPLICATE KEY UPDATE XXXXXXX'); // --> I get stuck here 

Я не знаю, как я должен писать после ON DUPLICATE KEY UPDATE: я знаю, что это должно быть что-то вроде «column_name = value1, column_name2 = value2 …», но можно ли использовать массивы выше так, как «( column_name1, column_name2 …) = (value1, value2 …), которые могут быть полезны, если я должен добавлять атрибуты multiples?

Поскольку это находится за пределами цикла, я не уверен, как ссылаться на мое значение внутри массива sql [], поскольку у меня могло быть много другого значения для одного и того же имени_ column_name.

Кроме того, я хотел бы добавить предложение WHERE в конце с чем-то вроде «WHERE timestamp_column_name <timestamp_value», но я не знаю, возможно ли это.

    Если бы кто-нибудь мог помочь мне решить эту проблему, это было бы здорово.

    Related of "php – обновить sql-оператор с краткими строками"