[RESOLU] select count et passage à mysqli

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] select count et passage à mysqli

Re: select count et passage à mysqli

par tintin88 » 27 août 2015, 13:08

Bonjour,

Re-remerci @rthur,

En fait, c'est simplement la même valeur que $row_cnt, je suis bête.
Je clos cette discussion.

Re: select count et passage à mysqli

par @rthur » 27 août 2015, 12:30

Je souhaite mémoriser cette valeur dans la variable $nb_chiens mais ne vois pas comment faire. peux-tu me mettre sur la piste, stp ?
A toi de faire un petit effort tout de même ;)

Comment le ferais-tu ? qu'as tu essayé ?

Re: select count et passage à mysqli

par tintin88 » 27 août 2015, 11:23

Bonjour,

De nouveau, merci @rthur,

J'ai fait afficher les erreurs et modifié ainsi mon script :

Code : Tout sélectionner

<?php include "../php/mysqli_conf.inc.php"; // Lien vers mon fichier de connexion $link = mysqli_connect($host,$login,$password,$base) or die(mysqli_error($link)); // Connexion &agrave; MySql if (mysqli_connect_errno()) { printf("Échec de la connexion : %s\n", mysqli_connect_error()); exit(); } if ($result = mysqli_query($link, "SELECT * FROM MaBase WHERE classification = 'chien'")) { $row_cnt = mysqli_num_rows($result); printf("Il y a %d lignes.\n", $row_cnt); mysqli_free_result($result); } ?>
J'obtiens maintenant l'affichage " Il y a 4 lignes. " ce qui est correct.
Je souhaite mémoriser cette valeur dans la variable $nb_chiens mais ne vois pas comment faire. peux-tu me mettre sur la piste, stp ?

Re: select count et passage à mysqli

par @rthur » 27 août 2015, 10:48

Déjà il faut que tu actives l'affichage des messages d'erreur pour te permettre de debuguer :
faq-tutoriels/page-blanche-script-php-c ... 73178.html

Ensuite, c'est normal que ça ne fonctionne pas puisque tu ne récupères pas nb_lignes comme si c'était un résultat de ta requête SQL

Re: select count et passage à mysqli

par tintin88 » 27 août 2015, 10:15

Bonjour,

Merci @rthur pour ton intervention.
En modifiant ainsi mon script :

Code : Tout sélectionner

<?php include "../php/mysqli_conf.inc.php"; // Lien vers mon fichier de connexion $link = mysqli_connect($host,$login,$password,$base) or die(mysqli_error($link)); // Connexion &agrave; MySql if (mysqli_connect_errno()) { printf("Échec de la connexion : %s\n", mysqli_connect_error()); exit(); } if ($result = mysqli_query($link, "SELECT count(*) AS nb_lignes FROM MaBase WHERE classification = 'chien'")) { echo nb_lignes; mysqli_free_result($result); } ?>
Mon écran reste désespérément vierge ;-(

Re: select count et passage à mysqli

par @rthur » 27 août 2015, 10:01

Bonjour,

Soit tu utilises
SELECT COUNT(*) AS nb_lignes FROM...
qui ne va te renvoyer qu'une seule ligne de résultat où tu récupères le champ nb_lignes qui contient le nombre de lignes.
Soit tu utilises
SELECT * FROM...
qui va te renvoyer toutes les lignes de résultats et la fonction mysqli_num_rows() te dira combien précisément.

select count et passage à mysqli

par tintin88 » 27 août 2015, 08:28

Bonjour,

Mieux vaut tard que jamais. Webmestre amateur, je tente de sauter le pas afin d'utiliser MYSQLI à la place de MySQL.
Je souhaite connaître combien d'enregistrements de MaTable répondent à la condition "WHERE classification = 'chien'"
Je cherche dans un premier temps à afficher cette valeur puis dans un second temps, je chercherai à mémoriser cette valeur dans une variable.
J'utilise le code suivant :

Code : Tout sélectionner

<?php include "../php/mysqli_conf.inc.php"; // Lien vers mon fichier de connexion $link = mysqli_connect($host,$login,$password,$base) or die(mysqli_error($link)); // Connexion &agrave; MySql if (mysqli_connect_errno()) { printf("Échec de la connexion : %s\n", mysqli_connect_error()); exit(); } if ($result = mysqli_query($link, "SELECT count(*) FROM MaBase WHERE classification = 'chien'")) { $row_cnt = mysqli_num_rows($result); printf("Il y a %d lignes.\n", $row_cnt); mysqli_free_result($result); } ?>
Le problème est que .... rien ne s'affiche.
Pourriez-vous m'aider, s'il vous plait ?