2014-12-10 2 views
0

Я действительно не могу понять, что я сделал неправильно. Я передаю значения в базу данных. Он работает, поскольку значения сохраняются. Это флажки с предыдущей страницы, только со значением 1 или автоматически 0 в phpMyadmin.У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «1» в строке 1

Это мой код:

/* SQL COMMANDS */ 
$mysqli = new mysqli("localhost", "root", "****" , "buffetkeuze"); 
if ($mysqli->connect_errno) { 
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } echo 'Connected... ' . mysqli_get_host_info($mysqli) . "\n"; 

$insert = mysqli_query($mysqli, "INSERT INTO `buffetkeuze` (`Gourmand` , `Party` , `Polder` ,  `Frites` , `Gebakken_aardappels` , `Rijst` , `Gegratineerde_aardappels` , `Pasta` , `Ardennerham` , `Kipsate` , `Varkenssate` , `Spareribs` , `KipPiriPiri` , `Gehaktballetjes` , `Beenham` , `Minischnitzels` , `Gerooktezalm` , `Haringplateau` , `Zalmfilet` , `Kibbeling` , `Quiche` , `Tempuragroenten` , `Rundercarpaccio` , `Wildpate` , `Ossenhaaspuntjes` , `Ribeye` , `Blacktiger` , `ganzenborst` , `Wildragout` , `Fazantenfilet` , `kaasplateau` , `geitenkaas` , `paling` , `wildezalm` , `Oesters` , `Kreeft` , `Tonijn` , `Zeetongfilet` , `Reebiefstuk` , `Hertencarpaccio` , `gerookteeendenborst` , `garnalensalade`) 
VALUES ( '$_POST[Gourmand]','$_POST[Party]','$_POST[Polder]','$_POST[Frites]','$_POST[Gebakken_aardappels]','$ _POST[Rijst]' ,'$_POST[Gegratineerde_aardappels]','$_POST[Pasta]','$_POST[Ardennerham]','$_POST[Kipsate]','$_POST[Varkenssate]','$_POST[Spareribs]','$_POST[KipPiriPiri]','$_POST[Gehaktballetjes]','$_POST[Beenham]','$_POST[Minischnitzels]','$_POST[garnalensalade]','$_POST[Gerooktezalm]','$_POST[Haringplateau]','$_POST[Zalmfilet]','$_POST[Kibbeling]','$_POST[Quiche]','$_POST[Tempuragroenten]','$_POST[Rundercarpaccio]','$_POST[Wildpate]','$_POST[Ossenhaaspuntjes]','$_POST[Ribeye]','$_POST[Blacktiger]','$_POST[ganzenborst]','$_POST[Wildragout]','$_POST[Fazantenfilet]','$_POST[kaasplateau]','$_POST[geitenkaas]','$_POST[paling]','$_POST[wildezalm]','$_POST[Oesters]','$_POST[Kreeft]','$_POST[Tonijn]','$_POST[Zeetongfilet]','$_POST[Reebiefstuk]','$_POST[Hertencarpaccio]','$_POST[gerookteeendenborst]') "); 

if (!mysqli_query($mysqli, $insert)) { die('Error: ' . mysqli_error($mysqli)); } echo "values inserted " . "\n"; 

$sql = mysqli_query($mysqli,"SELECT * FROM `buffetkeuze` ") ; 

if (!mysqli_query($mysqli, $sql)) { die('Error: ' . mysqli_error($mysqli)); } echo "values selected " . "\n"; while ($row = mysqli_fetch_assoc($mysqli,$sql)) { 
$Gourmand = $row['Gourmand']; 
$Party = $row['Party']; 
$Polder = $row['Polder']; 
$Frites = $row['Frites']; 
$Gebakkenaardappels = $row['Gebakken_aardappels']; 
$Rijst = $row['Rijst']; 
$Gegratineerdeaardappels = $row['Gegratineerde_aardappels']; 
$Pasta = $row['Pasta']; 

etc.  

Что моя ошибка в этом?

+1

Сообщение об ошибке SQL указывает, что что-то не так с вашей строкой SQL. Запишите переменную '$ insert' и проверьте ее. – Andomar

+0

У вас есть паразитные пробелы здесь '' $ _POST [Rijst] '', и ваши ссылки на' $ _POST' должны иметь указанные индексы. Повторите запрос перед тем, как выполнить его, и посмотрите на это. –

ответ

0

Попробуйте запрос с двойной кавычки почтовые переменные и одной ссылкой на их индексы следующим образом:

mysqli_query($mysqli, "INSERT INTO `buffetkeuze` (`Gourmand`, `Party`, ...) 
VALUES ('$_POST["Gourmand"]', '$_POST["Party"]', ...)"); 
+0

Теперь я получаю следующие ошибки: Предупреждение: mysqli_query(): Пустой запрос в C: \ xampp \ htdocs \ prijzen.php в строке 44 Ошибка: у вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с ' . Примечание: Неопределенный индекс: Gourmand in C: \ xampp \ htdocs \ stap2.ph' в строке 3 – user3069332

+0

проверьте обновление! – goseo

0

вам нужно добавить кавычки в переменную пост, как это:

$_POST['Gourmand'],... 

// использовать это в SQL, как это:

$insert = mysqli_query($mysqli, "INSERT INTO `buffetkeuze` (`Gourmand` , `Party` , `Polder` ,  `Frites` , `Gebakken_aardappels` , `Rijst` , `Gegratineerde_aardappels` , `Pasta` , `Ardennerham` , `Kipsate` , `Varkenssate` , `Spareribs` , `KipPiriPiri` , `Gehaktballetjes` , `Beenham` , `Minischnitzels` , `Gerooktezalm` , `Haringplateau` , `Zalmfilet` , `Kibbeling` , `Quiche` , `Tempuragroenten` , `Rundercarpaccio` , `Wildpate` , `Ossenhaaspuntjes` , `Ribeye` , `Blacktiger` , `ganzenborst` , `Wildragout` , `Fazantenfilet` , `kaasplateau` , `geitenkaas` , `paling` , `wildezalm` , `Oesters` , `Kreeft` , `Tonijn` , `Zeetongfilet` , `Reebiefstuk` , `Hertencarpaccio` , `gerookteeendenborst` , `garnalensalade`) 
     VALUES ( "$_POST['Gourmand']","$_POST['Party']",.....) "); 
0
  1. Используйте prepared statements для ваших запросов. Для этого есть много причин, включая ошибки, подобные вашей профилактике. Ваш текущий код неверен и уязвим.
  2. Вы пишете что-то вроде $ _POST[Rijst] в части значений, это неправильный вызов переменной.
  3. Я предполагаю, что в вашем запросе есть более плохие вещи. Попробуйте вывести окончательную строку запроса и посмотреть, как она выглядит.
Смежные вопросы

 Смежные вопросы