Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous ,
j'ai une question toute conne mais je n y arrive pas .
Lorsqu'on passe par la methode fetchAll on fait ca :
$vue = $breve->fetchAll();
$this->view->breves=$vue->count();
Ca ca marche.
MAintenant je voudrai faire pareil quand je passe par :
$db = new mysqli('localhost', 'root' ,'', 'capanet');
$query = $db->query("SELECT * FROM intervention Where type_matos like '%ecran%' ");
je voudrai faire un truc du genre pour connaitre le nombre de champs retourné :
$query->count() mais j'ai une erreur :
Fatal error: Call to undefined method mysqli_result::count()
avez vous une idée ?
Hors ligne
Et un count($query) ne marche pas ?
Hors ligne
Ben aprioris, tu utilises directement mysqli native de php non ?
Donc, en regardant la doc (je n'ai jamais utilisé mysqli), on trouve la méthode mysqli->field_count avec l'exemple suivant :
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "test"); $mysqli->query( "DROP TABLE IF EXISTS friends"); $mysqli->query( "CREATE TABLE friends (id int, name varchar(20))"); $mysqli->query( "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')"); $mysqli->real_query($HTTP_POST_VARS['query']); if ($mysqli->field_count) { /* Une requête SELECT, SHOW ou DESCRIBE */ $result = $mysqli->store_result(); /* Récupération du jeu de résultats */ $row = $result->fetch_row(); /* Libération du jeu de résultats */ $result->close(); } /* Fermeture de la connexion */ $mysqli->close(); ?>
Est-ce que ça t'aide ?
Hors ligne
Tout est question d'objets :
query() retourne un statement
Zend_Db connecté sous Mysqli , le statement est un mysqli_result
mysqli_result n'implémente pas countable
donc tu appelles une méthode qui n'existe pas sur cet objet ...
Soit tu utilises la solution données juste au dessus, soit tu t'embettes à implémenter countable dans une couche plus haut niveau
Hors ligne
Bon merci je vais essayer de me debrouiller
Hors ligne