Простой класс для работы с MySQL
Часто требуется, написать какой-нибудь простой скрипт, в котором требуется поддержка БД. И я заметил, что частенько пишу небольшие обертки, для более удобной работы..
Я не претендую на открытие чего-то уникального, но этот класс экономит время потраченное на написание одних и тех же функций:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
<?php class sql { // Version: 1.0.1 {2012-01-10} public static function connect($host,$user,$pass,$db=NULL,$charset=NULL) { if (!mysql_connect($host,$user,$pass)) die('Can not connect to database'); if (!is_null($db)) self::usedb($db); if (!is_null($charset)) self::set_charset($charset); } // end of function public static function set_charset($charset='utf8') { self::query("SET character_set_results = '".$charset."', character_set_client = '".$charset."', character_set_connection = '".$charset."', character_set_database = '".$charset."', character_set_server = '".$charset."' "); } // end of function public static function usedb($db) { if (!mysql_select_db($db)) die('Can not select database'); } // end of function public function disconnect() { @mysql_close(); } // end of function public static function query($sql, $die=TRUE) { $ret = mysql_query($sql); if ($die AND self::error()) die(self::error()); return $ret; } // end of function public static function error() { return mysql_error(); } // end of function public static function get_var($sql) { $ret = NULL; $r = self::query($sql); if (is_resource($r) AND mysql_num_rows($r)) { $row = mysql_fetch_array($r); $ret = $row[0]; } return $ret; } // end of function public static function get_results($sql) { $ret = NULL; $r = self::query($sql); if (is_resource($r) AND mysql_num_rows($r)) { $ret = Array(); while($row = mysql_fetch_assoc($r)) { $ret[] = $row; } } return $ret; } // end of function public static function get_row($sql) { $ret = NULL; $r = self::query($sql); if (is_resource($r) AND mysql_num_rows($r)) { $ret = mysql_fetch_assoc($r); } return $ret; } // end of function public static function affected() { return mysql_affected_rows(); } // end of function public static function esc($str, $quote=TRUE, $trim=TRUE, $md5=FALSE) { if ($trim) $str = trim($str); if ($md5) $str = md5($str); $str = mysql_real_escape_string($str); if ($quote) { if (!is_string($quote) OR !in_array($quote,Array('"',"'"))) $quote='"'; $str = $quote.$str.$quote; } return $str; } } // end of class |
Ну, и простейший пример использования:
1 2 3 4 5 6 |
<?php sql::connect('localhost','root','','my-test-db'); $str = " It's a perfect world! "; print_r(sql::get_var('SELECT '.sql::esc($str))); |
Author: | Tags: /
| Rating:
4 comments.
Write a comment