рдЖрдЬ MySQL DBMS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдХрдИ рд▓реЗрдЦ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд▓рдЧрднрдЧ рд╣рд░ рд▓реЗрдЦ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред 5.5.0 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ,
MySQL рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЕрд╕реЗрдВрдмрд▓реА рд╕реЗ
рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рдкреБрд░рд╛рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо
OOP рдореЗрдВ
MySQLi рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдпрд╣ рд▓реЗрдЦ DBMS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рд╣реИред
рдЕрдЧрд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдХрд┐ DBMS рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдЕрдЧрд▓реА рд▓рд┐рдЦрд┐рдд рдХрдХреНрд╖рд╛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдореЗрдВ, рдореБрдЭреЗ рдЕрдЧрд▓реЗ рдЪрдпрди рдХреЗ рд▓рд┐рдП DBMS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХрдХреНрд╖рд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ, рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рдЖрджрд┐, рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЦреАрдВрдЪреЗрдВред рд╡реИрд╢реНрд╡рд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд░реНрдЧ рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рдШреЛрд╖рд┐рдд рдЪрд░ рдХреЗ рд╕рд╛рдеред рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИ, рдФрд░ рд▓рд╛рднрджрд╛рдпрдХ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрди рдмрд░реНрдмрд╛рдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдореИрдВрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рддрд╛рдХрд┐ рдХрдХреНрд╖рд╛ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рддрд╛рдХрд┐ рдореИрдВ рддреБрд░рдВрдд
рдЪрд░ рдХреЗ рдХрд┐рд╕реА рднреА
рджрд╛рдпрд░реЗ рд╕реЗ рд╕реАрдзреЗ рдХрдХреНрд╖рд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ
рдХрд░ рд╕рдХреВрдВ ред
рд╕реНрд░реЛрдд рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рджреЗрдЦреЗрдВред
рдПрдХ рд╡рд░реНрдЧ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдХрдХреНрд╖рд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдВред
рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рдж $ db рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдбрд┐рд▓реАрдЯ
рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдкрддрд╛ рд╡рд░реНрдЧ рдХреЗ рд╕реНрдереИрддрд┐рдХ рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
<?php include 'DB.class.php'; try { $db = new DB('localhost:3306', 'user', 'password', 'dbname'); } catch (Exception $e) { exit($e->getMessage()); } ?>
рдиреАрдЪреЗ DB.class.php рд╡рд░реНрдЧ рдХреА рд╕рд╛рдордЧреНрд░реА рджреА рдЧрдИ рд╣реИ
<?php <?php class DB { private static $db = false; private static $mysqli = false; function DB($address, $user, $password, $dbname) { self::$db = &$this; list($host, $port) = explode(':', $address); $mysqli = new mysqli($host, $user, $password, $dbname, $port, $socket); if ($mysqli->connect_error) throw new Exception("Connect failed: %s", $mysqli->connect_error); self::$mysqli = &$mysqli; self::$mysqli->query('SET NAMES utf8 COLLATE utf8_general_ci'); } public static function GetRows($rows, $single = false) { $result = array(); if ($rows === false) return $result; if ($single) return $rows->fetch_assoc(); while ($row = $rows->fetch_assoc()) array_push($result, $row); $rows->free(); return $result; } public static function Select($sql, $single = false) { $result = self::$mysqli->query($sql); return self::$db->GetRows($result, $single); } public static function Update($data, $table, $where) { $sets = ''; foreach ($data as $column => $value) { $sets .= $sets ? ', ' : ''; $sets .= "`$column` = '$value'"; } $sql = "UPDATE $table SET $sets WHERE $where"; self::$mysqli->query($sql); } public static function Insert($data, $table) { $columns = ""; $values = ""; foreach ($data as $column => $value) { $columns .= $columns ? ', ' : ''; $columns .= "`$column`"; $values .= $values ? ', ' : ''; $values .= "'$value'"; } $sql = "INSERT INTO $table ($columns) VALUES ($values)"; self::$mysqli->query($sql); return self::$mysqli->insert_id; } public static function CountRows($table, $request = false) { $sql = "SELECT COUNT(*) FROM $table "; $sql .= $request ? $request : ''; $result = self::$mysqli->query($sql); $count = $result->fetch_array(); $result->free(); return $count[0]; } public static function Query($sql) { return self::$mysqli->query($sql); } public static function Delete($table, $where) { $sql = "DELETE FROM $table WHERE $where"; self::$mysqli->query($sql); } public static function Close() { self::$mysqli->close(); } function __destruct() { self::$db->Close(); } } ?>
Http://www.php.net/mysqli рдкрд░ MySQLi рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ
Github рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА
https://github.com/ntvsx193/php-db