Salagir's Blog

Old name was: "Why do witches burn?"

This is french section. Go to English version

J’ouvre ma section code avec une classe totalement inintéressante pour les vrais développeurs ici-bas, mais j’utilise souvent cette classe dans mes scripts, donc si vous voulez utiliser mes super scripts qui vont suivre, il vous faut cette classe.

Cette classe est sûrement d’autant plus inutile qu’elle fait sûrement doublon avec la classe mysql de php5, mais que voulez-vous, j’en suis toujours au 4…

Elle a quelques avantages intéressants :

  • Affichage pratique et complet des erreurs
  • Utilisation des Transactions de façon efficace (un point super de mysql, reservé aux tables innoDB)
  • Utilisable avec une instance, ou pas

Exemple d’utilisation :

$SQL = new sqlQueries();
 
// un élément d'un coup
echo $SQL->query2cell("SELECT prenom FROM personnes WHERE id=$id LIMIT 1");
 
// tourner direct sur un résultat de requête
foreach($SQL->query2assoc("SELECT * FROM ptitetable") as $element) {
    echo "<p>$element[champ1]: <code>$element[champ2] ($element[champ3])</p>";
}
 
// tout en une ligne !
echo "Ids: ".implode(", ", $SQL->query2list("SELECT id FROM table WHERE $conditions") );
 
// escaper proprement (vous avez bien sûr viré cette saloperie de magic quotes)
$nom = $SQL->e( $_REQUEST['nom'] );
 
// ne pas prendre de risques : si la première requête déconne, alors la seconde ne sera pas faite
// et je dirai même plus: et vice-versa
$SQL->tr_begin();
$SQL->query("UPDATE personne SET nom='$nom' WHERE id=$id");
$SQL->query("INSERT INTO actions (type, infos) VALUES('changenom', '$id -> $nom')");
$SQL->tr_end();

Je vous recommande de changer le constructeur à l’envie. Il m’est souvent arrivé de le virer complètement par exemple, parce que mysql_connect() serai fait ailleurs.

Vous pouvez télécharger le code de la version 0.95 ici :

2 Responses to “La 1468456e classe PHP qui surcharge mysql”

  1. Tu devrais mettre une licence, c’est important. Je te conseille celle de la libcaca et de la libcucul : http://sam.zoy.org/wtfpl/

    Mazzu

  2. La plupart du temps j’ajoute vite fait un « It’s GPL », mais là j’ai oublié.

    Salagir

Leave a Reply