La 1468456e classe PHP qui surcharge mysql
Le mars 2nd, 2008J’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 :
sqlQueries Gzippé(chie : apache essait de l’exécuter)- sqlQueries Zippé
- voir sqlQueries en ligne
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
mars 2nd, 2008
La plupart du temps j’ajoute vite fait un « It’s GPL », mais là j’ai oublié.
Salagir
mars 12th, 2008