Error op niet bestaand teken
Ik heb deze query:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$query2 = "SELECT url,
screenurl,
naam,
comment
FROM portfolio
WHERE id = ".$main_id[($user_id - 1)];
?>
$query2 = "SELECT url,
screenurl,
naam,
comment
FROM portfolio
WHERE id = ".$main_id[($user_id - 1)];
?>
Deze geeft:
Code (php)
1
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 6
Maar als ik dan mijn query echo, staat er:
er komt dus helemaal geen > in voor :-s
Iemand een idee waar het probleem zou kunnen zitten?
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
Bump
Weet je zeker dat deze query de error geeft? het kan ook de regel erna zijn. Het is niet hoe het zit... Misschien moet je dat even bekijken.
tuurlijk geeft de query deze error, ik echo namelijk de mysql_error()
Laat eens zien hoe je foutafhandeling in elkaar steekt dan.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
if(!$res)
{
echo 'Fout in query:<br />
<i>"'.mysql_error().'"</i><br />
<br />
De query was:<br />
<pre>
'.$query.'
</pre>';
}
?>
if(!$res)
{
echo 'Fout in query:<br />
<i>"'.mysql_error().'"</i><br />
<br />
De query was:<br />
<pre>
'.$query.'
</pre>';
}
?>
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
Letterlijk bedoel ik. Als dit letterlijk is dan: waar heb je de res constante gedefinieerd? Laat het letterlijke script even zien. En hier gebruik je $query maar in je bovenste post was het $query2. Welke is het nou? Best logisch dat je zo een andere query te zien krijgt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$query = "SELECT url,
screenurl,
naam,
comment
FROM portfolio
WHERE id = ".$main_id[($user_id)];
$res = mysql_query($query);
if(!$res)
{
echo 'Fout in query:<br />
<i>"'.mysql_error().'"</i><br />
<br />
De query was:<br />
<pre>
'.$query.'
</pre>';
}
?>
$query = "SELECT url,
screenurl,
naam,
comment
FROM portfolio
WHERE id = ".$main_id[($user_id)];
$res = mysql_query($query);
if(!$res)
{
echo 'Fout in query:<br />
<i>"'.mysql_error().'"</i><br />
<br />
De query was:<br />
<pre>
'.$query.'
</pre>';
}
?>
Edit:
typo: aangezien, niet angezein ;-)
typo: aangezien, niet angezein ;-)
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$query2 = "SELECT url,
screenurl,
naam,
comment
FROM portfolio
WHERE id = ".$main_id[($user_id - 1)];
?>
$query2 = "SELECT url,
screenurl,
naam,
comment
FROM portfolio
WHERE id = ".$main_id[($user_id - 1)];
?>
?> // kijk daar staat ie dat komt omdat je de query niet afsluit
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$query2 = "SELECT url,
screenurl,
naam,
comment
FROM portfolio
WHERE id = ".$main_id[($user_id - 1)].""; //niet meer vergeten he!
?>
$query2 = "SELECT url,
screenurl,
naam,
comment
FROM portfolio
WHERE id = ".$main_id[($user_id - 1)].""; //niet meer vergeten he!
?>
Gewijzigd op 01/01/1970 01:00:00 door bart van der veen
Dat hoeft alleen als je een niet-numerieke waarde wilt gebruiken, omdat je dan nog een enkele quote af moet sluiten:
WHERE tabelnaam = '".$main_id[($user_id - 1)]."'";
offtopic
mogen variable namen spatie bevatten?
Antwoord op je offtopic vraag: nee
ontopic;
In MySQL is het niet nodig een query af te sluiten. Maar het is altijd wel verstandig. PHP Newbie gewoon even afsluiten en kijken of het werkt.
Maar je moet dan natuurlijk wel goed afsluiten en dat doe je met een ;. Dus inplaats van . "" moet je .";" gebruiken
over een ander boeg:
$main_id[($user_id - 1)] => in de array main_id de value van key $userid -1.
array(23=>iets) // heb je weer zo'n >
ik ben ook niet echt een wizzard, maar als dat nou een uitsplits