Je sélectionne un message de ma table DB et j'obtiens l'id de l'URL avec getParam(). Ce que je veux faire est, montrer un message d'erreur quand il n'y a pas de messages avec l'id spécifié dans l'URL.Chech si des lignes ont été sélectionnées avec Zend_Db_Select
C'est la requête que j'ai:
$db = Zend_Registry::get('db');
$select = $db->select();
$select->from(array('p' => 'posts'))
->join(array('u' => 'users'), 'u.user_id = p.post_userid')
->where('p.post_id = ?', $postid);
$post = $db->fetchRow($select);
Le problème est, quand je fais echo count($post)
il montre 1
même lorsque l'ID est invalide, et il montre plus de 1 lorsque l'ID est valide et une ligne a été effectivement sélectionné. Donc, ma question est, comment dois-je vérifier combien de lignes ont été sélectionnés avec l'ID spécifié? ($ postid!).
Des suggestions?
Mais je ne m'attends jamais à plus d'une rangée. Si je fais cela, je devrai aussi faire quelque chose comme 'foreach ($ posts comme $ row)' ce qui complique les choses. N'y a-t-il pas d'autre moyen? – networkprofile
@Sled. $ db-> fetchRow ($ select); devrait retourner false si aucune ligne n'a été trouvée. Ainsi, vous pouvez simplement vérifier si false === $ post. – Marcin