Syntax error bij query.
Ik zit nu al een tijdje met een probleem waar ik niet uitkom. Op een vage manier wordt mijn query niet geaccepteert:
Code (php)
1
2
3
2
3
<?php
$getignore = mysql_query("SELECT * FROM `ignore` WHERE `ignore1` = '" .$userdata["id"]. "'") or die (mysql_error());
?>
$getignore = mysql_query("SELECT * FROM `ignore` WHERE `ignore1` = '" .$userdata["id"]. "'") or die (mysql_error());
?>
Ik krijg hierbij de volgende error:
Quote:
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
Hetgeen wat het voor mij nog vreemder maakt is dat eerder in het script een zelf soort query wel geaccepteerd wordt.
Code (php)
1
2
3
2
3
<?php
$getfriends = mysql_query("SELECT * FROM `friends` WHERE friend1 = '" .$userdata['id']. "'") or die (mysql_error());
?>
$getfriends = mysql_query("SELECT * FROM `friends` WHERE friend1 = '" .$userdata['id']. "'") or die (mysql_error());
?>
Ik kom er echt niet uit, hopelijk weten jullie het?
Alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Thomas van Broekhoven
vermodelijk is $userdata['id'] leeg
Hmm nee, heb even gecontroleerd en deze geeft gewoon zijn waarde.
die?!
Niet vermoedelijk, zeker weten. Buiten dat, waarom heb je er backticks in staan? En waarom een Code (php)
1
2
3
2
3
<?php
$getignore = mysql_query("SELECT * FROM ignore WHERE ignore1 = '" .$userdata["id"]. "'") or die (mysql_error());
?>
$getignore = mysql_query("SELECT * FROM ignore WHERE ignore1 = '" .$userdata["id"]. "'") or die (mysql_error());
?>
Zonder backticks krijg ik deze error:
Quote:
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 'ignore WHERE ignore1 = '2'' at line 1
De waarde wordt dus wel ingevuld anders zou er geen '2' in de error staan..
Ignore is een gereserveerd sql term
If this were a perfect world, all data recieved would never have a duplicate key. It obviously isn't a perfect world sinc MySQl created this little function (IGNORE).
Twan van der Poel schreef op 03.11.2009 11:02:
Ignore is een gereserveerd sql term
Hmm, dat is waar, vergeten..
Maar nu heb ik er hetvolgende van gemaakt en nog steeds hetzelfde probleem:
Code (php)
1
2
3
2
3
<?php
$getignore = mysql_query("SELECT * FROM ignorelist WHERE ignore1 = '" .$userdata["id"]. "'") or die (mysql_error());
?>
$getignore = mysql_query("SELECT * FROM ignorelist WHERE ignore1 = '" .$userdata["id"]. "'") or die (mysql_error());
?>
Gewijzigd op 01/01/1970 01:00:00 door Thomas van Broekhoven
Welke melding zie je ?
Code (php)
1
2
3
2
3
<?php
$getignore = mysql_query("SELECT * FROM nolist WHERE nofriend1 = '" .$userdata["id"]. "'") or die (mysql_error());
?>
$getignore = mysql_query("SELECT * FROM nolist WHERE nofriend1 = '" .$userdata["id"]. "'") or die (mysql_error());
?>
en krijg deze melding:
Quote:
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
Wel is het zo dat als ik geen query's in de database heb ik de error niet krijg en dat die wel weergeeft wat die hoort te weergeven.
Gewijzigd op 01/01/1970 01:00:00 door Thomas van Broekhoven
$userdata['id'] is leeg (2e x)
Twan van der Poel schreef op 03.11.2009 11:21:
$userdata['id'] is leeg (2e x)
Nope, want als ik in de query handmatig het id aangeef heb ik dezelfde error.
Code (php)
1
2
3
4
2
3
4
<?php
$query = ("SELECT * FROM ignore WHERE ignore1 = '" .$userdata["id"]. "'");
$getignore = mysql_query($query) or die($query.'<br />'.mysql_error());
?>
$query = ("SELECT * FROM ignore WHERE ignore1 = '" .$userdata["id"]. "'");
$getignore = mysql_query($query) or die($query.'<br />'.mysql_error());
?>
Gewijzigd op 01/01/1970 01:00:00 door Lauren Zonneveld
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query = ("SELECT * FROM nolist WHERE nofriend1 = '" .$userdata["id"]. "'");
$getignore = mysql_query($query) or die($query.'<br />'.mysql_error());
echo $getignore;
?>
$query = ("SELECT * FROM nolist WHERE nofriend1 = '" .$userdata["id"]. "'");
$getignore = mysql_query($query) or die($query.'<br />'.mysql_error());
echo $getignore;
?>
krijg ik deze error:
Quote:
Resource id #18 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
en als je ["id"], zonder dubblequotes doet?
Koen, alsjeblieft zeg
<-- still beginner
Wat is de echo van je query? Die moet namelijk precies voor je error staan bij jouw laatste code.
Code (php)
1
2
3
2
3
<?php
$getfriends = mysql_query("SELECT * FROM `friends` WHERE friend1 = '" .$userdata['id']. "'") or die (mysql_error());
?>
$getfriends = mysql_query("SELECT * FROM `friends` WHERE friend1 = '" .$userdata['id']. "'") or die (mysql_error());
?>
maar als ik dat vervang door dit:
Code (php)
1
2
3
2
3
<?php
$getfriends = mysql_query("SELECT * FROM `nolist` WHERE nofriend1 = '" .$userdata['id']. "'") or die (mysql_error());
?>
$getfriends = mysql_query("SELECT * FROM `nolist` WHERE nofriend1 = '" .$userdata['id']. "'") or die (mysql_error());
?>
en dat op exacte dezelfde regel.. terwijl de tabel exact hetzelfde is.
koen schreef op 03.11.2009 11:38:
<-- still beginner
Aardig dat je het probeert, maar zeg dan alsjeblieft niets en lees het alleen.
@TS: Het echo-en van een resource is anders dan de SQL. Je echo't de mysql_query en NIET de SQL. Dus, doe als volgt:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$sql = 'SELECT * ......';
$query = mysql_query($sql);
if(!is_resource($query))
{
echo 'Query: '.$sql.'<br />Mislukt om de volgende reden: '.mysql_error();
exit; // DEBUG ONLY
}
[/code]
$sql = 'SELECT * ......';
$query = mysql_query($sql);
if(!is_resource($query))
{
echo 'Query: '.$sql.'<br />Mislukt om de volgende reden: '.mysql_error();
exit; // DEBUG ONLY
}
[/code]
Op die manier krijg ik geen uitvoer.. maar zodra ik dan de query probeer te ontleden met:
Dan krijg ik weer die error.. hmm.