MYsql Error

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dion

Dion

04/12/2006 15:46:00
Quote Anchor link
hallo iedereen!
ik stuit op een probleempje, ik gebruik nu ?id=1 alleen het hij geeft deze error.
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/www/diondejong2.awardspace.com/facts/review.php on line 9
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

hier zit dus wat fout in..
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
$query = mysql_query('SELECT * FROM facts WHERE id='.$_GET['id']);

while ($obj = mysql_fetch_object($query)) {
   $titel = htmlspecialchars($obj->titel);
   $bericht = htmlspecialchars($obj->bericht);
   $datum = htmlspecialchars($obj->datum);
  
  

        
        echo " <div class='divtop'>$titel - $datum </div> <div class='divunder'> $bericht </div><br>  ";

maar wat?
Gewijzigd op 01/01/1970 01:00:00 door Dion
 
PHP hulp

PHP hulp

05/10/2022 14:38:09
 
Frank -

Frank -

04/12/2006 15:55:00
Quote Anchor link
De query zal waarschijnlijk zijn mislukt. Maar omdat jij dit niet controleert, gaat het pas later in het script écht fout.

Verder is $query een foute naam, het is geen query maar een resultset. $result ligt dus voor de hand.

Vervolgens controleer je of $result TRUE of FALSE is en wanneer deze FALSE is, dan echo je mysql_error() om de foutmelding te achterhalen.

Opmerking: Userinput zoals bv. een $_GET mag NOOIT EN TE NIMMER ongecontroleerd in een query staan. Je zult in dit geval moeten controleren of de input wel nummeriek is, ctype_digit() kan je hierbij behulpzaam zijn. Doe je dit niet, ga je dan vooral niet afvragen waarom jouw website wordt gehackt, daar heb je dan zelf om gevraagd.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Mark D

Mark D

04/12/2006 15:57:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query = mysql_query('SELECT * FROM facts WHERE id='.$_GET['id']);

Moet worden
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query = mysql_query("SELECT * FROM facts WHERE id='" . $_GET['id'] . "'");

Quotes
Gewijzigd op 01/01/1970 01:00:00 door Mark D
 
Frank -

Frank -

04/12/2006 16:00:00
Quote Anchor link
@Mark: Die quotes zijn niet nodig, id is nummeriek, een integer. En een integer is geen string en hoeft/hoort dus niet tussen quotes te staan.
 



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.