Zend Framework - compter les lignes dans la clause select?
Je suis enquêter sur Zend Framework et actuellement coincé dans le décompte des résultats de la requête sql... Chaque méthode que j'ai essayer (à partir de la documentation et quelques blogposts et tutoriels) renvoie une erreur (comme Call to undefined function
) ou tout simplement en donne la valeur incorrecte.
J'ai essayé ceci:
$checkquery = $db->select()
->from('users', 'COUNT(*)')
->where('login = ?', $login)
->where('password = ?', $password)
->query();
$checkrequest=fetchRow($checkquery)->num;
...alors celle-ci:
$checkquery = $db->select()
->from('users', '*')
->where('login = ?', $login)
->where('password = ?', $password)
->query();
$checkrequest=count($checkquery->fetchAll());
et même:
$checkquery = $db->select()
->from('users', '*')
->where('login = ?', $login)
->where('password = ?', $password)
->query();
$checkrequest=$checkquery->fetchAll()->num;
Aussi rowCount()
et count(fetchRow())
et count(fetchAll()->toArray())
. Mais toujours, j'ai eu un message d'erreur ou de dupliquer des inserts en db en plus d'insérer une fonction. Alors, quelle est la façon correcte de faire les lignes de calcul dans la clause select dans Zend Framework 1.9 (j'utilise celui-ci) ?
Vous devez vous connecter pour publier un commentaire.
L'utilisation que vous essayez de faire est comme suit:
J'ai un couple de d'autres conseils:
Je restructuration de la requête comme ceci:
Vous n'avez pas à rendre compte des différents cas à l'utilisateur -- en fait, c'est la meilleure pratique de sécurité pas pour leur dire qui de le login ou le mot de passe est incorrect. Mais vous pourriez vouloir savoir dans votre propre code de sorte que vous pouvez verrouiller un compte qui reçoit beaucoup de échec de mot de passe.
SHA1()
n'est pas aussi bon queSHA2()
qui est disponible en MySQL 5.5 et plus tard.