PHP sql syntax error

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Koirn jieunds

koirn jieunds

13/07/2011 16:43:07
Quote Anchor link
Hallo,

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
 
PHP hulp

PHP hulp

23/11/2024 00:46:19
 
- SanThe -

- SanThe -

13/07/2011 16:44:12
Quote Anchor link
$tblthread[$i] is leeg.
 
Koirn jieunds

koirn jieunds

13/07/2011 16:49:50
Quote Anchor link
Maar ik heb bovenaan deze regel:

$tblthread = array("nieuwsthread");
 
Marco PHPJunky

Marco PHPJunky

13/07/2011 16:58:21
Quote Anchor link
hoe vul je de array ?

probeer eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?PHP
print_r($tblthread);
?>

en kijk is of er wat in zit...
 
- Ariën  -
Beheerder

- Ariën -

13/07/2011 16:58:29
Quote Anchor link
En die $i, heeft die ook een waarde?
 
Koirn jieunds

koirn jieunds

13/07/2011 17:05:14
Quote Anchor link
Er zit niks in als ik de print_r($tablethread) uitvoer. Hoe kan dit??

En $i heeft deze waarde:

for ($i = 0; $i <2; $i++)
 
- SanThe -

- SanThe -

13/07/2011 17:16:06
Quote Anchor link
Geef dat stukje script eens.
 
Koirn jieunds

koirn jieunds

13/07/2011 17:18:52
Quote Anchor link
oke
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
 
Joren de Wit

Joren de Wit

13/07/2011 17:21:21
Quote Anchor link
$tblthread[1], een variabele die ook in je loop gebruikt wordt, zal niet bestaan en dus een (de?) foutmelding geven...

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
 
Marco PHPJunky

Marco PHPJunky

13/07/2011 17:21:57
Quote Anchor link
hoe ziet jou database eruit als ik vragen mag ?
 
- SanThe -

- SanThe -

13/07/2011 17:23:00
Quote Anchor link
In het array() zit één item en $i heeft twee stappen. Dus logisch dat er één leeg is.
 
Koirn jieunds

koirn jieunds

13/07/2011 17:25:57
Quote Anchor link
bedankt SanThe!

ik heb het veranderd naar <1 en nu doet hij het.
 
Joren de Wit

Joren de Wit

13/07/2011 17:32:28
Quote Anchor link
Dan is die hele loop nutteloos. Aangezien je elke keer dat je de array verandert, je ook de waarde in je loop moet aanpassen. Doe dan iets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
for($i = 0; $i < count($array); $i++)
?>
 
Koirn jieunds

koirn jieunds

13/07/2011 17:35:53
Quote Anchor link
@Joren de Wit

Ja je hebt gelijk , bedankt voor de code.

Ik zal het gelijk even veranderen.
 
Noppes Homeland

Noppes Homeland

13/07/2011 17:37:58
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql= "SELECT * FROM $tblthread[$i] ";

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.
 



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.