PHP sql syntax error
Tijdens het oefenen voor het maken van een site kreeg ik een error bij deze regel:
$sql= "SELECT * FROM $tblthread[$i] ";
de error:
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
Kan iemand mij helpen om de bovenstaande regel goed uit te voeren??
bedankt,
Timothy
$tblthread[$i] is leeg.
$tblthread = array("nieuwsthread");
En die $i, heeft die ook een waarde?
En $i heeft deze waarde:
for ($i = 0; $i <2; $i++)
Geef dat stukje script eens.
script:
$tblthread = array("nieuwsthread");
for ($i = 0; $i <2; $i++)
{
$sql= "SELECT * FROM $tblthread[$i]";
$result= mysql_query($sql);
if ($result)
{
$num_rows= mysql_num_rows($result);
$numthread[$i]= $num_rows;
}
else
{
echo "sql";
die(mysql_error());
}
}
Gewijzigd op 13/07/2011 17:20:11 door koirn jieunds
ps. Verder vermoed ik dat het datamodel dat je gebruikt niet correct is. Het lijkt erop als je voor elke thread (van een forum?) een aparte tabel aanmaakt? Als dat het geval is, ben je op de verkeerde weg. Kijk eens of je datamodel wel goed genormaliseerd is.
Gewijzigd op 13/07/2011 17:22:53 door Joren de Wit
hoe ziet jou database eruit als ik vragen mag ?
In het array() zit één item en $i heeft twee stappen. Dus logisch dat er één leeg is.
ik heb het veranderd naar <1 en nu doet hij het.
Ja je hebt gelijk , bedankt voor de code.
Ik zal het gelijk even veranderen.
je doet er verstandig aan om in sql statements geen variabele op te nemen welke een
- database
- tabel
- veld
vertegenwoordigen!!
Dit soort zaken maakt het onmogelijk je code op een fatsoenlijke manier te debuggen en de onderhoudbaarheid is ook nog eens een onmogelijke opdracht.