salut j'ai un probleme dans ce code !!
<?php
class Objet{
public $table;
public function find($data=array()){
$condition="1=1";
$fields="*";
$limit="";
if(isset($data"condition"])){$condition=$data"condition"];}
if(isset($data"fields"])){$fields=$data"fields"];}
if(isset($data"limit"])){$limit="Limit".$data"limit"];}
$sql = mysql_query("select $fields from ".$this->table." where $condition $limit");
$d=array();
while($data = mysql_fetch_assoc($sql)){
$d] = $data;
}
return $d;
}
public static function instance($name=null){
require_once $name.'.php';
return new $name();
}}
?>
il affiche cette erreur !!
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\tool_shop\tool_shop\include\objet.php on line 13
Je suis pas expert!! mais je vérifierais si $this->table est déclarée, puis j'essayerais de tester le retour de mysql_query() !!
if (!$sql) {
echo "Impossible d'exécuter la requête " . mysql_error();
exit;
}
Je vais peut-être donner une bête réponse, mais est-ce que tu te connectes à ta base de données ?
je pense que effectivement la variable table n'est jamais affectée.
il faudrait un constructeur
un boolean est donné à ta fonction mysql_fetch_assoc, ce qui veut dire que la variable $sql contient la valeur false, ce qui veut dire que ta requête n'est pas exécuté correctement. Essaye de revoir les paramètres de ta requêtes. Est ce que tu utilises le PDO pour la connexion ou la fonction mysql_connect?
$sql = mysql_query("select $fields from ".$this->table." where $condition $limit");
Ce n'est pas plutot comme ça que ça s'écrit :
$sql = mysql_query("select $fields from ".$this->table." where ". $condition ." ". $limit. "");
Et effectivement y@ssir, il n'y a pas de test de résultat d’exécution de requête donc....