SQL fout (Opgelost)
DieHard - 26/07/2009 19:39 (laatste wijziging 26/07/2009 19:41)
PHP interesse
Ik krijg de volgende error als ik dit probeer te sturen naar mijn MySQL database.
// Error //
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 '2', 'Black', '14.00', 3.00', '17.00' )' at line 3.
<?php
$link = @mysql_connect('database.nl', 'name', 'pass');
if (!$link)
{
echo "Could not connect: " . mysql_error();
}
else
{
mysql_select_db('database');
$query = "INSERT INTO data
( FirstName , LastName , Address , HouseNumber , Postal , City , Country , Birth , Email , Phone , MSN , option1_0 , option1_1 , option1_2 , option1_3 , option1_4 , option1_5 , option1_6 , option1_7 , option2_0 , option2_1 , option2_2 , option2_3 , option2_4 , option2_5 , option2_6 , option2_7 , option3_0 , option3_1 , option3_2 , option3_3 , option3_4 , option3_5 , option3_6 , option3_7 , option4_0 , option4_1 , option4_1 , option4_2 , totaloptions1 , totaloptions2 , totaloptions3 , totaloptions4 , color , totaloptions , total , endtotal )";
$query .= " VALUES
( '$FirstName', '$LastName', '$Address', '$HouseNumber', '$Postal', '$City', '$Country', '$Birth', '$Email', '$Phone', '$option1_0', '$option1_1', '$option1_2', '$option1_3', '$option1_4', '$option1_5', '$option1_6', '$option1_7', '$option2_0', '$option2_1', '$option2_2', '$option2_3', '$option2_4', '$option2_5', '$option2_6', '$option2_7', '$option3_0', '$option3_1', '$option3_2', '$option3_3', '$option3_4', '$option3_5', '$option3_6', '$option3_7', '$option4_0', '$option4_1', '$option4_2, '$totaloptions1', '$totaloptions2', '$totaloptions3', '$totaloptions4', '$color', '$totaloptions', '$total', '$endtotal' )";
//echo $query . "<br>\n";
$result = mysql_query($query) OR die (mysql_error());
mysql_close($link);
}
?>
<?php
if ( ! $link )
{
}
else
{
$query = "INSERT INTO data
( FirstName , LastName , Address , HouseNumber , Postal , City , Country , Birth , Email , Phone , MSN , option1_0 , option1_1 , option1_2 , option1_3 , option1_4 , option1_5 , option1_6 , option1_7 , option2_0 , option2_1 , option2_2 , option2_3 , option2_4 , option2_5 , option2_6 , option2_7 , option3_0 , option3_1 , option3_2 , option3_3 , option3_4 , option3_5 , option3_6 , option3_7 , option4_0 , option4_1 , option4_1 , option4_2 , totaloptions1 , totaloptions2 , totaloptions3 , totaloptions4 , color , totaloptions , total , endtotal )" ;
$query .= " VALUES
( '$FirstName ', '$LastName ', '$Address ', '$HouseNumber ', '$Postal ', '$City ', '$Country ', '$Birth ', '$Email ', '$Phone ', '$option1_0 ', '$option1_1 ', '$option1_2 ', '$option1_3 ', '$option1_4 ', '$option1_5 ', '$option1_6 ', '$option1_7 ', '$option2_0 ', '$option2_1 ', '$option2_2 ', '$option2_3 ', '$option2_4 ', '$option2_5 ', '$option2_6 ', '$option2_7 ', '$option3_0 ', '$option3_1 ', '$option3_2 ', '$option3_3 ', '$option3_4 ', '$option3_5 ', '$option3_6 ', '$option3_7 ', '$option4_0 ', '$option4_1 ', '$option4_2 , '$totaloptions1 ', '$totaloptions2 ', '$totaloptions3 ', '$totaloptions4 ', '$color ', '$totaloptions ', '$total ', '$endtotal ' )" ;
//echo $query . "<br>\n";
}
?>
7 antwoorden
Gesponsorde links
ibmos2warp - 26/07/2009 19:44
PHP interesse
Echo de query.
En het is beter om variable buiten quotes te houden.
DieHard - 26/07/2009 19:51 (laatste wijziging 26/07/2009 19:53)
PHP interesse
Zo dus?
<?php
$link = @mysql_connect('database.nl', 'name', 'pass');
if (!$link)
{
echo "Could not connect: " . mysql_error();
}
else
{
mysql_select_db('database');
$query = "INSERT INTO data
( FirstName , LastName , Address , HouseNumber , Postal , City , Country , Birth , Email , Phone , MSN , option1_0 , option1_1 , option1_2 , option1_3 , option1_4 , option1_5 , option1_6 , option1_7 , option2_0 , option2_1 , option2_2 , option2_3 , option2_4 , option2_5 , option2_6 , option2_7 , option3_0 , option3_1 , option3_2 , option3_3 , option3_4 , option3_5 , option3_6 , option3_7 , option4_0 , option4_1 , option4_1 , option4_2 , totaloptions1 , totaloptions2 , totaloptions3 , totaloptions4 , color , totaloptions , total , endtotal )";
$query .= " VALUES
( $FirstName, $LastName, $Address, $HouseNumber, $Postal, etc....... )";
//echo $query . "<br>\n";
$result = mysql_query($query) OR die (mysql_error());
mysql_close($link);
}
?>
<?php
if ( ! $link )
{
}
else
{
$query = "INSERT INTO data
( FirstName , LastName , Address , HouseNumber , Postal , City , Country , Birth , Email , Phone , MSN , option1_0 , option1_1 , option1_2 , option1_3 , option1_4 , option1_5 , option1_6 , option1_7 , option2_0 , option2_1 , option2_2 , option2_3 , option2_4 , option2_5 , option2_6 , option2_7 , option3_0 , option3_1 , option3_2 , option3_3 , option3_4 , option3_5 , option3_6 , option3_7 , option4_0 , option4_1 , option4_1 , option4_2 , totaloptions1 , totaloptions2 , totaloptions3 , totaloptions4 , color , totaloptions , total , endtotal )" ;
$query .= " VALUES
( $FirstName , $LastName , $Address , $HouseNumber , $Postal , etc....... )" ;
//echo $query . "<br>\n";
}
?>
ibmos2warp - 26/07/2009 20:01 (laatste wijziging 26/07/2009 20:05)
PHP interesse
Nee.
<?php
$blaat = "$blup zei dag tegen $blap"; // Variable binnen quotes. " zijn quotes. In het nederlands aanhalingsteken.
$blaat = $blup . " zei dag tegen " . $blap; // Variable buiten quotes.
// Natuurlijk de rotzooi wel sluiten
?>
<?php
$blaat = "$blup zei dag tegen $blap " ; // Variable binnen quotes. " zijn quotes. In het nederlands aanhalingsteken.
$blaat = $blup . " zei dag tegen " . $blap ; // Variable buiten quotes.
// Natuurlijk de rotzooi wel sluiten
?>
Edit: End vergeten :-P
DieHard - 26/07/2009 20:09 (laatste wijziging 26/07/2009 20:22)
PHP interesse
Zo dus?
// Edit
<?php
$link = @mysql_connect('database.nl', 'name', 'pass');
if (!$link)
{
echo "Could not connect: " . mysql_error();
}
else
{
mysql_select_db('database');
$query = "INSERT INTO data
( FirstName , LastName , Address , HouseNumber , Postal , City , Country , Birth , Email , Phone , MSN , option1_0 , option1_1 , option1_2 , option1_3 , option1_4 , option1_5 , option1_6 , option1_7 , option2_0 , option2_1 , option2_2 , option2_3 , option2_4 , option2_5 , option2_6 , option2_7 , option3_0 , option3_1 , option3_2 , option3_3 , option3_4 , option3_5 , option3_6 , option3_7 , option4_0 , option4_1 , option4_1 , option4_2 , totaloptions1 , totaloptions2 , totaloptions3 , totaloptions4 , color , totaloptions , total , endtotal )";
$query .= " VALUES
( ".$FirstName.", ".$LastName.", ".$Address.", ".$HouseNumber.", etc....... )";
//echo $query . "<br>\n";
$result = mysql_query($query) OR die (mysql_error());
mysql_close($link);
}
?>
<?php
if ( ! $link )
{
}
else
{
$query = "INSERT INTO data
( FirstName , LastName , Address , HouseNumber , Postal , City , Country , Birth , Email , Phone , MSN , option1_0 , option1_1 , option1_2 , option1_3 , option1_4 , option1_5 , option1_6 , option1_7 , option2_0 , option2_1 , option2_2 , option2_3 , option2_4 , option2_5 , option2_6 , option2_7 , option3_0 , option3_1 , option3_2 , option3_3 , option3_4 , option3_5 , option3_6 , option3_7 , option4_0 , option4_1 , option4_1 , option4_2 , totaloptions1 , totaloptions2 , totaloptions3 , totaloptions4 , color , totaloptions , total , endtotal )" ;
$query .= " VALUES
( " . $FirstName . ", " . $LastName . ", " . $Address . ", " . $HouseNumber . ", etc....... )" ;
//echo $query . "<br>\n";
}
?>
ibmos2warp - 26/07/2009 20:14 (laatste wijziging 26/07/2009 20:17)
PHP interesse
Om strings aanelkaar te plakken moet je een punt gebruiken. Die staat er ook in mijn post (selecteer dat maar eens), maar je ziet hem niet.
Verder heb ik niets gezegd over de enkele quote ', apostrof (leesteken) in het Nederlands. Die moet in sql, net als bij php om strings heen. Om ints hoeft die niet.
Edit: Nu ik toch bezig ben, je datamodel is ook niet echt goed... D'r klopt volgens mij geen snars van.
ibmos2warp - 26/07/2009 20:43
PHP interesse
DieHard schreef:
Ik heb het al gemaakt, option4_2 stond er dubbel in by $query = "INSERT INTO. Toch bedankt en het script is niks mis mee nu het werkt.Â
Dat het werkt, hoeft niet direct te betekenen dat er niks mis mee is / niet goed is.
Die gedachte is een veel voorkomende fout. EJe ziet geen fouten, er gebeuren geen "rare" dingen, totdat de hele soepzooi uitelkaar valt. Waarom Sarkozy vandaag flauw viel wist ook niemand, totdat ze een scan van z'n hersenen gingen maken...
Gesponsorde links
Dit onderwerp is gesloten .