Lorsque j'exécute le code suivant dans un script PHP. Le jeu de résultats est toujours vide. Cependant, lorsque j'exécute la même requête dans la console mysql ou dans phpmyadmin, elle affiche correctement 18 lignes dans le resultset. Qu'est-ce qui pourrait mal tourner ici?mysql_query renvoie un resultset vide, même lorsque la requête est valide
$result_set = mysql_query("SELECT * FROM categories WHERE 1 ", $this->database_handle);
var_dump($this->database_handle);
var_dump($result_set);
var_dump(mysql_num_rows($result_set));
- la sortie est
resource(42) of type (mysql link)
resource(48) of type (mysql result)
int(0) bool(false)
Cependant, quand je tente d'insérer des données dans ce tableau, l'insertion est impeccable.
Comme suggéré dans certaines des réponses précédentes, je l'ai déjà essayé plusieurs combinaisons comme
$result_set = mysql_query("SELECT * FROM categories WHERE 1=1 ", $this->database_handle);
$result_set = mysql_query("SELECT * FROM categories", $this->database_handle);
$result_set = mysql_query("select category_id, name from `categories` where `name` like 'cat-1'", $this->database_handle);
$result_set = mysql_query("SELECT category_id,name FROM categories WHERE 1 ", $this->database_handle);
-
structure of table
Field Type Null Default Comments
category_id int(11) No
name varchar(255) No
Toute aide est très appréciée.
Êtes-vous une base de données de réglage par défaut lorsque vous ouvrez la connexion? Cela ferait échouer les SELECT, mais je ne sais pas pourquoi les INSERT fonctionneraient. – staticsan
ce qui apparaît dans vos journaux de requêtes lorsque vous exécutez le script? – Martin