Wie ziet de fout?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kilian Janssen

Kilian Janssen

09/09/2009 18:51:00
Quote Anchor link
Hallo,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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";

?>


Wie ziet de fout?

Kilian
 
PHP hulp

PHP hulp

08/11/2024 02:30:09
 

09/09/2009 18:54:00
Quote Anchor link
Haal eerst maar die variabelen buiten quotes. En stop die query ook in een variabele zodat je die kunt echo'en als er iets mis gaat.
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.
Gewijzigd op 01/01/1970 01:00:00 door
 
Cas

Cas

09/09/2009 18:58:00
Quote Anchor link
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?
 
Kilian Janssen

Kilian Janssen

09/09/2009 19:04:00
Quote Anchor link
Ik heb de query in een var gestopt en de quotes weggehaald, maar nog steeds hetzelfde probleem.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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";

?>
 
Erik Rijk

Erik Rijk

09/09/2009 19:11:00
Quote Anchor link
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

[..]near 'sadfsfd...
Tja, welke veld zal het zijn.

Haal je vars buiten quotes, doe het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sQuery
= "INSERT INTO tabel ( veld1, veld2 ) VALUES ('" . $var1 . "', '" . $var2 . "')";
?>
Gewijzigd op 01/01/1970 01:00:00 door Erik Rijk
 
Afra ca

Afra ca

09/09/2009 19:15:00
Quote Anchor link
Agree @ Erik, met als aanvulling:

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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.