J'utilise ma propre classe pour les requêtes de base de données, l'extension mysqli:Comment puis-je résumer des instructions préparées mysqli en PHP?
class iDatabase extends mysqli
{
public $errorMsg;
private $totalQueries;
private $stmt;
public function __construct()
{
parent::__construct('localhost', 'asd', 'asd', 'asd');
if (mysqli_connect_errno())
{
$this->errorMsg = 'Could not connect to server.<br /><i>' . mysqli_connect_error() . '</i>.';
return;
}
parent::query('SET NAMES utf8');
}
}
Cependant, je suis en cours d'exécution en difficulté lors de l'exécution des requêtes et obtenir des résultats de retour. J'utilise des instructions préparées, mais la façon dont les valeurs et les résultats sont liés me confond. Après un peu de recherche, je suis venu avec cette fonction qui accepte la requête et les paramètres:
public function psQuery($query, $params)
{
$this->stmt = parent::prepare($query);
call_user_func_array(array($this->stmt,'bind_param'), $params);
$this->stmt->execute();
}
Ma question est, quelle est la meilleure façon d'obtenir des résultats de retour de tout cela? Je dois utiliser bind_result, puis récupérer chaque ligne, puis fermer l'instruction. Je préférerais juste avoir un tableau associatif pour chaque rangée - est-ce possible?
+1 pour aider à créer l'une de mes bibliothèques préférées. – karim79
Où trouverais-je le code? J'ai regardé ici mais c'est seulement la documentation, pas de code: http://framework.zend.com/apidoc/core/Zend_Db/Statement/Zend_Db_Statement_Mysqli.html – DisgruntledGoat
@DisgruntledGoat: Vous pouvez le télécharger, bien sûr, sinon vous pouvez parcourir le source en ligne à http://framework.zend.com/code/browse/Standard_Library/standard/trunk/library/Zend –