Beste mensen van Phphulp,

Laatst stuitte ik op een probleem dat ik op verschillende manieren probeerde op te lossen.
Jammer genoeg zonder resultaat.

- Ik heb geprobeerd zonder de OOP class en functie dus gewoon met mysql_query de sql uit te voeren dat werkte. Vreemd genoeg werkt mijn OOP functie niet.

* Ja ik heb de error gegoogelt maar dat was zonder resultaat en linkte alleen naar simpelere scripts.

De error: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ...

Alvast bedankt.

De code:


<?php
$cn = new mysql();
$cn->query("SELECT * FROM users WHERE name LIKE 'test'");


class mysql {


public function connect() {
static $a = 0;
if ($a==0) {
$a = mysql_connect("localhost:3306","root","vistaxp64");
mysql_select_db("gecms");
}
return $a;


}
public function query($quer) {
$con=$this->connect();
$qdata=mysql_query($quer,$con) or die(mysql_error());
$qresult=mysql_fetch_array($qdata) or die(mysql_error());
return $qresult;
}



}
Wanneer ik een wilde gok mag wagen is het resultaat van de query leeg.

Bovendien heb ik het zeer sterke vermoeden dat de query niet correct wordt uitgevoerd.
Je gaat er klakkeloos van uit dat alle mysql_ functies foutloos werken terwijl er heel wat redenen kunnen zijn waarbij de functies een foutmelding teruggeven. Zorg dat die foutmeldingen in beeld komen zodat je weet wat er fout gaat.

mysql_ functies gaan verdwijnen. gebruik liever mysqli_ of pdo.
De fout heb ik ontdekt: Ik gebruikte een INSERT sql geen SELECT dat leverde boolean TRUE op en geeft dus geen array met data voor de mysql_fetch_array functie terug. Deze verbeterde code met foutafhandeling werkt:

http://pastebin.com/FMvYtZ5d

Reageren