2016-04-01 41 views
0

Ich möchte Daten in eine MySQL-Tabelle einfügen PHP.PHP mysqli_query Syntaxfehler in Einsatz

Hier ist mein Code:

<?php 
    $het = $_GET['het']; 

    header('Content-Type: application/json; Charset=UTF-8'); 
    $connection = mysqli_connect("localhost:8889","root","root","imreigye_wp") or die("Error " . mysqli_error($connection)); 
    mysqli_set_charset($connection, 'utf8mb4'); 

    //This SQL string is really long 
    $sql = "INSERT INTO `rendelesiidok`(`Ev`, `Het`, `Nap`, `BattaR`, `BattaT`, `HacsekR`, `HacsekT`, `MolnarR`, `MolnarT`, `Pentek`) VALUES ('2016','" . $het . "','1','','','','','','',''); INSERT INTO `rendelesiidok`(`Ev`, `Het`, `Nap`, `BattaR`, `BattaT`, `HacsekR`, `HacsekT`, `MolnarR`, `MolnarT`, `Pentek`) VALUES ('2016','" . $het . "','2','','','','','','',''); INSERT INTO `rendelesiidok`(`Ev`, `Het`, `Nap`, `BattaR`, `BattaT`, `HacsekR`, `HacsekT`, `MolnarR`, `MolnarT`, `Pentek`) VALUES ('2016','" . $het . "','3','','','','','','',''); INSERT INTO `rendelesiidok`(`Ev`, `Het`, `Nap`, `BattaR`, `BattaT`, `HacsekR`, `HacsekT`, `MolnarR`, `MolnarT`, `Pentek`) VALUES ('2016','" . $het . "','4','','','','','','',''); INSERT INTO `rendelesiidok`(`Ev`, `Het`, `Nap`, `BattaR`, `BattaT`, `HacsekR`, `HacsekT`, `MolnarR`, `MolnarT`, `Pentek`) VALUES ('2016','" . $het . "','5','','','','','','','');"; 
    mysqli_query($connection, $sql) or die("ERROR: " . mysqli_error($connection)); 
    mysqli_close($connection); 
?> 

Wenn ich meinen Code ausführen bekomme ich einen MySQL-Fehler:

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 'INSERT INTO rendelesiidok (Ev , Het , Nap , BattaR , BattaT , HacsekR , `' at line 1 However, my MySQL query runs with no problem if I run it trough phpMyAdmin. Here is my MySQL log:

160401 23:07:22 15 Connect [email protected] on imreigye_wp 
      15 Query SET NAMES utf8mb4 
      15 Query INSERT INTO `rendelesiidok`(`Ev`, `Het`, `Nap`, `BattaR`, `BattaT`, `HacsekR`, `HacsekT`, `MolnarR`, `MolnarT`, `Pentek`) VALUES ('2016','14','1','','','','','','',''); INSERT INTO `rendelesiidok`(`Ev`, `Het`, `Nap`, `BattaR`, `BattaT`, `HacsekR`, `HacsekT`, `MolnarR`, `MolnarT`, `Pentek`) VALUES ('2016','14','2','','','','','','',''); INSERT INTO `rendelesiidok`(`Ev`, `Het`, `Nap`, `BattaR`, `BattaT`, `HacsekR`, `HacsekT`, `MolnarR`, `MolnarT`, `Pentek`) VALUES ('2016','14','3','','','','','','',''); INSERT INTO `rendelesiidok`(`Ev`, `Het`, `Nap`, `BattaR`, `BattaT`, `HacsekR`, `HacsekT`, `MolnarR`, `MolnarT`, `Pentek`) VALUES ('2016','14','4','','','','','','',''); INSERT INTO `rendelesiidok`(`Ev`, `Het`, `Nap`, `BattaR`, `BattaT`, `HacsekR`, `HacsekT`, `MolnarR`, `MolnarT`, `Pentek`) VALUES ('2016','14','5','','','','','','','') 
      15 Quit 

HINWEIS: Ich habe bereits versucht, einfache Anführungszeichen anstelle der speziell denjenigen mit . Das hat nicht geholfen.

+1

jede SQL-Abfrage in einzelne Variablen zu segmentieren Ihren Code besser setzen und es leichter zu lesen. es könnte auch – Juakali92

+0

Zurück Zecken auf den 'symbôle eingegeben wird auf dem Namen der Tabelle und Felder fällig sind in MySQL durchaus akzeptabel (und anderen SQL-Umgebungen) @ Juakali92 –

+0

@JayBlanchard fair genug, wussten nicht, kann man – Juakali92

Antwort

1

Ich glaube nicht, mysqli_query() mehrere Abfragen unterstützt. Was Sie in 1 Abfrage wie folgt geschrieben tun wollen werden können:

$sql = "INSERT INTO `rendelesiidok`(`Ev`, `Het`, `Nap`, `BattaR`, `BattaT`, `HacsekR`, `HacsekT`, `MolnarR`, `MolnarT`, `Pentek`) 
VALUES ('2016','" . $het . "','1','','','','','','',''), 
('2016','" . $het . "','2','','','','','','',''), 
('2016','" . $het . "','3','','','','','','',''), 
('2016','" . $het . "','4','','','','','','',''), 
('2016','" . $het . "','5','','','','','','','')"; 

Für weitere Informationen besuchen MySQL docs