SQL Error
hallo, ik ben bezig om een soort admin voor me site te maken waar ik ook moderaters enzo kan toevoegen maar als ik me formpje verstuur krijg ik dit:
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 '' at line 1
jaja, lkkr duidelijk, dit is het stukje waar de query voor komt:
zoals je ziet staan er wel meer " in line 1, weet iemand waar het probleem zit?
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 '' at line 1
jaja, lkkr duidelijk, dit is het stukje waar de query voor komt:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
if(isset($_POST['Submit'])){
if(empty($_POST['username']) || empty($_POST['password'])){
echo 'Je bent 1 of meerdere velden vergeten in te vullen!';
}else{
mysql_query("INSERT INTO `admin` ( `id` , `username` , `password` ) VALUES ( NULL , '".$_POST['username']."', SHA1( '".$_POST['password']."' ) ") or die (mysql_error());
echo '"'.$_POST['username'].'" is succesvol toegevoegd!';
}
}
?>
if(isset($_POST['Submit'])){
if(empty($_POST['username']) || empty($_POST['password'])){
echo 'Je bent 1 of meerdere velden vergeten in te vullen!';
}else{
mysql_query("INSERT INTO `admin` ( `id` , `username` , `password` ) VALUES ( NULL , '".$_POST['username']."', SHA1( '".$_POST['password']."' ) ") or die (mysql_error());
echo '"'.$_POST['username'].'" is succesvol toegevoegd!';
}
}
?>
zoals je ziet staan er wel meer " in line 1, weet iemand waar het probleem zit?
edit:
of moet ik eerst een variable maken en dan pas die in me query gooien?
zoiets als $query = INSERT balabl
mysql_query($query) or die (mysql_error());
?
edit 2:
werkt ook niet :(
zoiets als $query = INSERT balabl
mysql_query($query) or die (mysql_error());
?
edit 2:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
if(isset($_POST['Submit'])){
if(empty($_POST['username']) || empty($_POST['password'])){
echo 'Je bent 1 of meerdere velden vergeten in te vullen!';
}else{
$query = "INSERT INTO `admin` ( `id` , `username` , `password` ) VALUES ( NULL , '".$_POST['username']."', SHA1( '".$_POST['password']."' ) ";
mysql_query($query) or die (mysql_error());
echo '"'.$_POST['username'].'" is succesvol toegevoegd!';
}
}
?>
if(isset($_POST['Submit'])){
if(empty($_POST['username']) || empty($_POST['password'])){
echo 'Je bent 1 of meerdere velden vergeten in te vullen!';
}else{
$query = "INSERT INTO `admin` ( `id` , `username` , `password` ) VALUES ( NULL , '".$_POST['username']."', SHA1( '".$_POST['password']."' ) ";
mysql_query($query) or die (mysql_error());
echo '"'.$_POST['username'].'" is succesvol toegevoegd!';
}
}
?>
werkt ook niet :(
Gewijzigd op 01/01/1970 01:00:00 door Aftertoucher
Probeer dit eens:
Het is niet heel netjes ,maar wellicht werkt het en kan je het zelf opschonen.
Persoonlijk vind ik het overigens netter om eerst de query op te stellen en dan pas te versturen, zoals je zelf voorstelt. Maar in principe zou het niet uit moeten maken voor de werking van je script.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if(isset($_POST['Submit'])){
if(empty($_POST['username']) || empty($_POST['password'])){
echo 'Je bent 1 of meerdere velden vergeten in te vullen!';
}else{
$username = $_POST['username'];
$password = sha1($_POST['password'];
$query = mysql_query("INSERT INTO admin VALUES (NULL , '" . $username . "', '" . $password . "')");
if(!$query) {
echo mysql_error();
} else {
echo '"'.$_POST['username'].'" is succesvol toegevoegd!';
}
}
}
?>
if(isset($_POST['Submit'])){
if(empty($_POST['username']) || empty($_POST['password'])){
echo 'Je bent 1 of meerdere velden vergeten in te vullen!';
}else{
$username = $_POST['username'];
$password = sha1($_POST['password'];
$query = mysql_query("INSERT INTO admin VALUES (NULL , '" . $username . "', '" . $password . "')");
if(!$query) {
echo mysql_error();
} else {
echo '"'.$_POST['username'].'" is succesvol toegevoegd!';
}
}
}
?>
Het is niet heel netjes ,maar wellicht werkt het en kan je het zelf opschonen.
Persoonlijk vind ik het overigens netter om eerst de query op te stellen en dan pas te versturen, zoals je zelf voorstelt. Maar in principe zou het niet uit moeten maken voor de werking van je script.
Parse error: syntax error, unexpected ';' in /home/hardcore/public_html/admin.php on line 43
lijn 43 is hier:
$password = sha1($_POST['password'];
lijn 43 is hier:
$password = sha1($_POST['password'];
$password = sha1($_POST['password']);
doe je ogen open en zie het zelf ook , dit heeft niets met PHP SQL errors te maken, dit is gewoon dom als je zoiets niet zelf ziet
doe je ogen open en zie het zelf ook , dit heeft niets met PHP SQL errors te maken, dit is gewoon dom als je zoiets niet zelf ziet
aah sorry, vergeten sha1 functie af te sluiten. Moet zijn:
$password = sha1($_POST['password']);
$password = sha1($_POST['password']);
@wes: ...dat kan je ook wel wat normaliter zeggen...
@Kasper: hij werkt :) bedankt!
@Kasper: hij werkt :) bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Aftertoucher
Graag gedaan :)
tip: gebruik die backtics (`) niet meer, dat zorgt voor irritatie en onduidelijkheid :) En op zich hoef je die velden ook niet aan te geven, tenzij je niet alle velden in wilt vullen (zo kan je 'id' weglaten bv.)
Edit:
En zorg er ook voor dat je input niet direct in een query invoert, maar zet het eerst om met htmlentities of een dergelijke functie. Dat zorgt er niet alleen voor dat (de meeste) schadelijke code niet meer uitgevoerd kan worden, het houdt je query ook nog eens korter :)
Dus ipv $_POST['username'] in je query, zet je het éérst om met $username = htmlentities($_POST['username']) en dan gooi je de variabele $username in de query.
tip: gebruik die backtics (`) niet meer, dat zorgt voor irritatie en onduidelijkheid :) En op zich hoef je die velden ook niet aan te geven, tenzij je niet alle velden in wilt vullen (zo kan je 'id' weglaten bv.)
Edit:
En zorg er ook voor dat je input niet direct in een query invoert, maar zet het eerst om met htmlentities of een dergelijke functie. Dat zorgt er niet alleen voor dat (de meeste) schadelijke code niet meer uitgevoerd kan worden, het houdt je query ook nog eens korter :)
Dus ipv $_POST['username'] in je query, zet je het éérst om met $username = htmlentities($_POST['username']) en dan gooi je de variabele $username in de query.
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
@aftertoucher , nee normaler kan ik dit niet zeggen. Is net als dat je zonder banden onder je auto probeerd weg te komen en dan zeuren hij doet het niet maarik weet niet wat het is




