ich überall gesucht habe und keine AntwortPHP - Mit WHERE in INSERT ON DUPLICATE UPDATE Ausgabe
Ich habe einen Einsatz auf doppelte Update finden, muss ich angeben, wo Rest_ID = '$ rest_ID', aber ich bin Empfangen des folgenden Fehlers
Sie haben einen Fehler in Ihrer SQL-Syntax; Sie in die Bedienungsanleitung zu Ihrem MySQL-Server Version für die richtige Syntax entspricht in der Nähe zu verwenden ‚WHERE Resturant_ID =‘ 1 ‚‘ in Zeile 41.
Was ist der beste Weg, dies zu tun, ist es, wenn man statt ist mit Von wo?
Das ist, was ich im Augenblick
if (isset($_POST['Save-dets'])) {
$rest_id = mysqli_real_escape_string($dbc, $_SESSION['Resturant_ID']);
$r_name = mysqli_real_escape_string($dbc, $_POST['rest_name']);
$r_desc = mysqli_real_escape_string($dbc, $_POST['Desc']);
$r_addl1 = mysqli_real_escape_string($dbc, $_POST['address1']);
$r_addl2 = mysqli_real_escape_string($dbc, $_POST['address2']);
$r_city = mysqli_real_escape_string($dbc, $_POST['city']);
$r_pcode = mysqli_real_escape_string($dbc, $_POST['pcode']);
$insert_rest = "INSERT INTO Rest_Details
(Resturant_name
, Resturant_des
, Res_Address_Line_1
, Res_Address_Line_2
, City_name
, Resturant_Postcode
)
VALUES
(?
, ?
, ?
, ?
, ?
, ?
)
ON DUPLICATE KEY
UPDATE Resturant_name = VALUES(Resturant_name)
, Resturant_des = VALUES(Resturant_des)
, Res_Address_Line_1 = VALUES(Res_Address_Line_1)
, Res_Address_Line_2 = VALUES(Res_Address_Line_2)
, City_name = VALUES(City_name)
, Resturant_Postcode = VALUES(Resturant_Postcode)
WHERE Resturant_ID ='$rest_id'";
Sie nicht, wo mit doppelten –
@YourCommonSense verwenden kann ich ein Handbuch lesen nur, dass ich sagt, die nicht richtig sein das ist, warum ich – jerneva
bin zu fragen, es ist lustig, wie Sie vorbereitete Anweisungen verwenden, aber Sie verwenden es nicht für den 'Restaurant_ID'-Wert. Die andere Sache ist - was würde 'WHERE'-Klausel erreichen? Wenn Sie eine eindeutige Integritätsbedingung treffen, wird 'INSERT' nicht verarbeitet, sondern 'UPDATE', weil der Datensatz bereits bekannt ist. –