Wie ziet de fout?
Als ik dit scipt uitvoer krijg ik de error als ik gewoon wat willekeurige tekst invoer: 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 'sadfsfd', 'sdfasdf', 'afsdasd', 'dsfdasd', 'sadfasd', 'asfdfds', 'sdfaasd', '', ' at line 1
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
include("config.php");
include("checksession.php");
$plaatsnaam = $_POST['plaatsnaamID'];
$huisnaam = $_POST['huisnaam'];
$straatnaam = $_POST['straatnaam'];
$huisnummer = $_POST['huisnummer'];
$postcode = $_POST['postcode'];
$huisbaas = $_POST['huisbaas'];
$huisbaastel = $_POST['huisbaas_tel'];
$huisbaasemail = $_POST['huisbaas_emailadres'];
$omschrijving_accommodatie_nl = $_POST['omschrijving_nl'];
$omschrijving_accommodatie_en = $_POST['omschrijving_gb'];
$omschrijving_accommodatie_de = $_POST['omschrijving_de'];
$tip_accommodatie_nl = $_POST['tip_nl'];
$tip_accommodatie_en = $_POST['tip_gb'];
$tip_accommodatie_de = $_POST['tip_de'];
$query = mysql_query("INSERT INTO accommodaties (plaatsnaam, huisnaam, straatnaam, huisnummer, postcode, huisbaas, huisbaastel, huisbaasemail, omschrijving_accommodatie_nl, omschrijving_accommodatie_en, omschrijving_accommodatie_de, tip_accommodatie_nl, tip_accommodatie_en, tip_accommodatie_de) VALUES ('$plaatsnaam, '$huisnaam', '$straatnaam', '$huisnummer', '$postcode', '$huisbaas', '$huisbaastel', '$huisbaasemail', '$omschrijving_accommodatie_nl', '$omschrijving_accommodatie_en', '$omschrijving_accommodatie_de', '$tip_accommodatie_nl', '$tip_accommodatie_en', '$tip_accommodatie_de')")
or die(mysql_error());
echo "succes";
?>
include("config.php");
include("checksession.php");
$plaatsnaam = $_POST['plaatsnaamID'];
$huisnaam = $_POST['huisnaam'];
$straatnaam = $_POST['straatnaam'];
$huisnummer = $_POST['huisnummer'];
$postcode = $_POST['postcode'];
$huisbaas = $_POST['huisbaas'];
$huisbaastel = $_POST['huisbaas_tel'];
$huisbaasemail = $_POST['huisbaas_emailadres'];
$omschrijving_accommodatie_nl = $_POST['omschrijving_nl'];
$omschrijving_accommodatie_en = $_POST['omschrijving_gb'];
$omschrijving_accommodatie_de = $_POST['omschrijving_de'];
$tip_accommodatie_nl = $_POST['tip_nl'];
$tip_accommodatie_en = $_POST['tip_gb'];
$tip_accommodatie_de = $_POST['tip_de'];
$query = mysql_query("INSERT INTO accommodaties (plaatsnaam, huisnaam, straatnaam, huisnummer, postcode, huisbaas, huisbaastel, huisbaasemail, omschrijving_accommodatie_nl, omschrijving_accommodatie_en, omschrijving_accommodatie_de, tip_accommodatie_nl, tip_accommodatie_en, tip_accommodatie_de) VALUES ('$plaatsnaam, '$huisnaam', '$straatnaam', '$huisnummer', '$postcode', '$huisbaas', '$huisbaastel', '$huisbaasemail', '$omschrijving_accommodatie_nl', '$omschrijving_accommodatie_en', '$omschrijving_accommodatie_de', '$tip_accommodatie_nl', '$tip_accommodatie_en', '$tip_accommodatie_de')")
or die(mysql_error());
echo "succes";
?>
Wie ziet de fout?
Kilian
De boel doden omdat de query niet gelukt was is ook een beetje hard hé? Nergens voor nodig...
Edit: Gebruik ook mysql_real_escape_string.
Voor zover ik zie zitten er geen fouten in de code (Let wel: ik ken slechts de basis van PHP). Zit er geen fout in je config.php bestand?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
include("config.php");
include("checksession.php");
$plaatsnaam = $_POST['plaatsnaamID'];
$huisnaam = $_POST['huisnaam'];
$straatnaam = $_POST['straatnaam'];
$huisnummer = $_POST['huisnummer'];
$postcode = $_POST['postcode'];
$huisbaas = $_POST['huisbaas'];
$huisbaastel = $_POST['huisbaas_tel'];
$huisbaasemail = $_POST['huisbaas_emailadres'];
$omschrijving_accommodatie_nl = $_POST['omschrijving_nl'];
$omschrijving_accommodatie_en = $_POST['omschrijving_gb'];
$omschrijving_accommodatie_de = $_POST['omschrijving_de'];
$tip_accommodatie_nl = $_POST['tip_nl'];
$tip_accommodatie_en = $_POST['tip_gb'];
$tip_accommodatie_de = $_POST['tip_de'];
$sql = "INSERT INTO accommodaties (plaatsnaam, huisnaam, straatnaam, huisnummer, postcode, huisbaas, huisbaastel, huisbaasemail, omschrijving_accommodatie_nl, omschrijving_accommodatie_en, omschrijving_accommodatie_de, tip_accommodatie_nl, tip_accommodatie_en, tip_accommodatie_de) VALUES ($plaatsnaam, $huisnaam, $straatnaam, $huisnummer, $postcode, $huisbaas, $huisbaastel, $huisbaasemail, $omschrijving_accommodatie_nl, $omschrijving_accommodatie_en, $omschrijving_accommodatie_de, $tip_accommodatie_nl, $tip_accommodatie_en, $tip_accommodatie_de)";
$query = mysql_query($sql)
or die(mysql_error());
echo "succes";
?>
include("config.php");
include("checksession.php");
$plaatsnaam = $_POST['plaatsnaamID'];
$huisnaam = $_POST['huisnaam'];
$straatnaam = $_POST['straatnaam'];
$huisnummer = $_POST['huisnummer'];
$postcode = $_POST['postcode'];
$huisbaas = $_POST['huisbaas'];
$huisbaastel = $_POST['huisbaas_tel'];
$huisbaasemail = $_POST['huisbaas_emailadres'];
$omschrijving_accommodatie_nl = $_POST['omschrijving_nl'];
$omschrijving_accommodatie_en = $_POST['omschrijving_gb'];
$omschrijving_accommodatie_de = $_POST['omschrijving_de'];
$tip_accommodatie_nl = $_POST['tip_nl'];
$tip_accommodatie_en = $_POST['tip_gb'];
$tip_accommodatie_de = $_POST['tip_de'];
$sql = "INSERT INTO accommodaties (plaatsnaam, huisnaam, straatnaam, huisnummer, postcode, huisbaas, huisbaastel, huisbaasemail, omschrijving_accommodatie_nl, omschrijving_accommodatie_en, omschrijving_accommodatie_de, tip_accommodatie_nl, tip_accommodatie_en, tip_accommodatie_de) VALUES ($plaatsnaam, $huisnaam, $straatnaam, $huisnummer, $postcode, $huisbaas, $huisbaastel, $huisbaasemail, $omschrijving_accommodatie_nl, $omschrijving_accommodatie_en, $omschrijving_accommodatie_de, $tip_accommodatie_nl, $tip_accommodatie_en, $tip_accommodatie_de)";
$query = mysql_query($sql)
or die(mysql_error());
echo "succes";
?>
[..]near 'sadfsfd...
Tja, welke veld zal het zijn.
Haal je vars buiten quotes, doe het volgende:
Code (php)
1
2
3
2
3
<?php
$sQuery = "INSERT INTO tabel ( veld1, veld2 ) VALUES ('" . $var1 . "', '" . $var2 . "')";
?>
$sQuery = "INSERT INTO tabel ( veld1, veld2 ) VALUES ('" . $var1 . "', '" . $var2 . "')";
?>
Gewijzigd op 01/01/1970 01:00:00 door Erik Rijk
Dit doorlezen en dan je code verbeteren:
http://www.phphulp.nl/php/tutorials/3/444/
http://www.phphulp.nl/php/tutorials/2/571/
En niet onnodig vars gaan kopieren, maar daar zie je wel een voorbeeld bij in de sql injection tutorial.