html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

同时支持三个MySQL+SQLite+PDO的PHP数据库类_PHP教程_编程技术

[ ] 已经帮助:人解决问题

 xfpHTML5中文学习网 - HTML5先行者学习网

  PHP学习教程文章简介: 同时支持三个MySQL+SQLite+PDO的PHP数据库类使用方法: // mysql connect $db = new SQL(mysql:host=localhost;database=21andy_blog;, 21andy.com_user, 21andy.com_password); // PDO SQLite3 connect $db = new SQL(pdo:database=/21andy.com/21andy.sxfpHTML5中文学习网 - HTML5先行者学习网

  同时支持三个MySQL+SQLite+PDO的PHP数据库类使用方法:xfpHTML5中文学习网 - HTML5先行者学习网

  // mysql connectxfpHTML5中文学习网 - HTML5先行者学习网

  $db = new SQL('mysql:host=localhost;database=21andy_blog;', '21andy.com_user', '21andy.com_password');xfpHTML5中文学习网 - HTML5先行者学习网

  // PDO SQLite3 connectxfpHTML5中文学习网 - HTML5先行者学习网

  $db = new SQL('pdo:database=/21andy.com/21andy.sqlite3;');xfpHTML5中文学习网 - HTML5先行者学习网

  // SQLite2 connectxfpHTML5中文学习网 - HTML5先行者学习网

  $db = new SQL('sqlite:database=/21andy.com/21andy.sqlite;');xfpHTML5中文学习网 - HTML5先行者学习网

  sqldbs.class.php文件xfpHTML5中文学习网 - HTML5先行者学习网

  /*xfpHTML5中文学习网 - HTML5先行者学习网

  SQL Buddy - Web based MySQL administrationxfpHTML5中文学习网 - HTML5先行者学习网

  sqldbs.class.phpxfpHTML5中文学习网 - HTML5先行者学习网

  - sql classxfpHTML5中文学习网 - HTML5先行者学习网

  MIT licensexfpHTML5中文学习网 - HTML5先行者学习网

  */xfpHTML5中文学习网 - HTML5先行者学习网

  class SQL {xfpHTML5中文学习网 - HTML5先行者学习网

  var $adapter = "";xfpHTML5中文学习网 - HTML5先行者学习网

  var $method = "";xfpHTML5中文学习网 - HTML5先行者学习网

  var $version = "";xfpHTML5中文学习网 - HTML5先行者学习网

  var $conn = "";xfpHTML5中文学习网 - HTML5先行者学习网

  var $options = "";xfpHTML5中文学习网 - HTML5先行者学习网

  var $errorMessage = "";xfpHTML5中文学习网 - HTML5先行者学习网

  var $db = "";xfpHTML5中文学习网 - HTML5先行者学习网

  function SQL($connString, $user = "", $pass = "") {xfpHTML5中文学习网 - HTML5先行者学习网

  list($this->adapter, $options) = explode(":", $connString, 2);xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->adapter != "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->adapter = "mysql";xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  $optionsList = explode(";", $options);xfpHTML5中文学习网 - HTML5先行者学习网

  foreach ($optionsList as $option) {xfpHTML5中文学习网 - HTML5先行者学习网

  list($a, $b) = explode("=", $option);xfpHTML5中文学习网 - HTML5先行者学习网

  $opt[$a] = $b;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  $this->options = $opt;xfpHTML5中文学习网 - HTML5先行者学习网

  $database = (array_key_exists("database", $opt)) ? $opt['database'] : "";xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->adapter == "sqlite" && substr(sqlite_libversion(), 0, 1) == "3" && class_exists("PDO") && in_array("sqlite", PDO::getAvailableDrivers())) {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->method = "pdo";xfpHTML5中文学习网 - HTML5先行者学习网

  tryxfpHTML5中文学习网 - HTML5先行者学习网

  {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->conn = new PDO("sqlite:" . $database, null, null, array(PDO::ATTR_PERSISTENT => true));xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  catch (PDOException $error) {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->conn = false;xfpHTML5中文学习网 - HTML5先行者学习网

  $this->errorMessage = $error->getMessage();xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "sqlite" && substr(sqlite_libversion(), 0, 1) == "2" && class_exists("PDO") && in_array("sqlite2", PDO::getAvailableDrivers())) {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->method = "pdo";xfpHTML5中文学习网 - HTML5先行者学习网

  tryxfpHTML5中文学习网 - HTML5先行者学习网

  {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->conn = new PDO("sqlite2:" . $database, null, null, array(PDO::ATTR_PERSISTENT => true));xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  catch (PDOException $error) {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->conn = false;xfpHTML5中文学习网 - HTML5先行者学习网

  $this->errorMessage = $error->getMessage();xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->method = "sqlite";xfpHTML5中文学习网 - HTML5先行者学习网

  $this->conn = sqlite_open($database, 0666, $sqliteError);xfpHTML5中文学习网 - HTML5先行者学习网

  } else {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->method = "mysql";xfpHTML5中文学习网 - HTML5先行者学习网

  $host = (array_key_exists("host", $opt)) ? $opt['host'] : "";xfpHTML5中文学习网 - HTML5先行者学习网

  $this->conn = @mysql_connect($host, $user, $pass);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn && $this->method == "pdo") {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn && $this->adapter == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->query("SET NAMES 'utf8'");xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn && $database) {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->db = $database;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function isConnected() {xfpHTML5中文学习网 - HTML5先行者学习网

  return ($this->conn !== false);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function close() {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->disconnect();xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function disconnect() {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->method == "pdo") {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->conn = null;xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  mysql_close($this->conn);xfpHTML5中文学习网 - HTML5先行者学习网

  $this->conn = null;xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  sqlite_close($this->conn);xfpHTML5中文学习网 - HTML5先行者学习网

  $this->conn = null;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function getAdapter() {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->adapter;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function getMethod() {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->method;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function getOptionValue($optKey) {xfpHTML5中文学习网 - HTML5先行者学习网

  if (array_key_exists($optKey, $this->options)) {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->options[$optKey];xfpHTML5中文学习网 - HTML5先行者学习网

  } else {xfpHTML5中文学习网 - HTML5先行者学习网

  return false;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function selectDB($db) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->method == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->db = $db;xfpHTML5中文学习网 - HTML5先行者学习网

  return (mysql_select_db($db));xfpHTML5中文学习网 - HTML5先行者学习网

  } else {xfpHTML5中文学习网 - HTML5先行者学习网

  return true;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  } else {xfpHTML5中文学习网 - HTML5先行者学习网

  return false;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function query($queryText) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->method == "pdo") {xfpHTML5中文学习网 - HTML5先行者学习网

  $queryResult = $this->conn->prepare($queryText);xfpHTML5中文学习网 - HTML5先行者学习网

  if ($queryResult)xfpHTML5中文学习网 - HTML5先行者学习网

  $queryResult->execute();xfpHTML5中文学习网 - HTML5先行者学习网

  if (!$queryResult) {xfpHTML5中文学习网 - HTML5先行者学习网

  $errorInfo = $this->conn->errorInfo();xfpHTML5中文学习网 - HTML5先行者学习网

  $this->errorMessage = $errorInfo[2];xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  return $queryResult;xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  $queryResult = @mysql_query($queryText, $this->conn);xfpHTML5中文学习网 - HTML5先行者学习网

  if (!$queryResult) {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->errorMessage = mysql_error();xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  return $queryResult;xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  $queryResult = sqlite_query($this->conn, $queryText);xfpHTML5中文学习网 - HTML5先行者学习网

  if (!$queryResult) {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->errorMessage = sqlite_error_string(sqlite_last_error($this->conn));xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  return $queryResult;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  } else {xfpHTML5中文学习网 - HTML5先行者学习网

  return false;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  // Be careful using this function - when used with pdo, the pointer is movedxfpHTML5中文学习网 - HTML5先行者学习网

  // to the end of the result set and the query needs to be rerun. Unless youxfpHTML5中文学习网 - HTML5先行者学习网

  // actually need a count of the rows, use the isResultSet() function insteadxfpHTML5中文学习网 - HTML5先行者学习网

  function rowCount($resultSet) {xfpHTML5中文学习网 - HTML5先行者学习网

  if (!$resultSet)xfpHTML5中文学习网 - HTML5先行者学习网

  return false;xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->method == "pdo") {xfpHTML5中文学习网 - HTML5先行者学习网

  return count($resultSet->fetchAll());xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return @mysql_num_rows($resultSet);xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  return @sqlite_num_rows($resultSet);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function num_rows($res) {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->rowCount($res);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function isResultSet($resultSet) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->method == "pdo") {xfpHTML5中文学习网 - HTML5先行者学习网

  return ($resultSet == true);xfpHTML5中文学习网 - HTML5先行者学习网

  } else {xfpHTML5中文学习网 - HTML5先行者学习网

  return ($this->rowCount($resultSet) > 0);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function fetch($res) {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->fetchAssoc($res);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function fetchArray($resultSet) {xfpHTML5中文学习网 - HTML5先行者学习网

  if (!$resultSet)xfpHTML5中文学习网 - HTML5先行者学习网

  return false;xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->method == "pdo") {xfpHTML5中文学习网 - HTML5先行者学习网

  return $resultSet->fetch(PDO::FETCH_NUM);xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return mysql_fetch_row($resultSet);xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  return sqlite_fetch_array($resultSet, SQLITE_NUM);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function fetchAssoc($resultSet) {xfpHTML5中文学习网 - HTML5先行者学习网

  if (!$resultSet)xfpHTML5中文学习网 - HTML5先行者学习网

  return false;xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->method == "pdo") {xfpHTML5中文学习网 - HTML5先行者学习网

  return $resultSet->fetch(PDO::FETCH_ASSOC);xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return mysql_fetch_assoc($resultSet);xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  return sqlite_fetch_array($resultSet, SQLITE_ASSOC);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function affectedRows($resultSet) {xfpHTML5中文学习网 - HTML5先行者学习网

  if (!$resultSet)xfpHTML5中文学习网 - HTML5先行者学习网

  return false;xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->method == "pdo") {xfpHTML5中文学习网 - HTML5先行者学习网

  return $resultSet->rowCount();xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return @mysql_affected_rows($resultSet);xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  return sqlite_changes($resultSet);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function result($resultSet, $targetRow, $targetColumn = "") {xfpHTML5中文学习网 - HTML5先行者学习网

  if (!$resultSet)xfpHTML5中文学习网 - HTML5先行者学习网

  return false;xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->method == "pdo") {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($targetColumn) {xfpHTML5中文学习网 - HTML5先行者学习网

  $resultRow = $resultSet->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, $targetRow);xfpHTML5中文学习网 - HTML5先行者学习网

  return $resultRow[$targetColumn];xfpHTML5中文学习网 - HTML5先行者学习网

  } else {xfpHTML5中文学习网 - HTML5先行者学习网

  $resultRow = $resultSet->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_ABS, $targetRow);xfpHTML5中文学习网 - HTML5先行者学习网

  return $resultRow[0];xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return mysql_result($resultSet, $targetRow, $targetColumn);xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  return sqlite_column($resultSet, $targetColumn);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function listDatabases() {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->adapter == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->query("SHOW DATABASES");xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->db;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function listTables() {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->adapter == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->query("SHOW TABLES");xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->query("SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY name");xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function hasCharsetSupport()xfpHTML5中文学习网 - HTML5先行者学习网

  {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->adapter == "mysql" && version_compare($this->getVersion(), "4.1", ">")) {xfpHTML5中文学习网 - HTML5先行者学习网

  return true;xfpHTML5中文学习网 - HTML5先行者学习网

  } else {xfpHTML5中文学习网 - HTML5先行者学习网

  return false;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function listCharset() {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->adapter == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->query("SHOW CHARACTER SET");xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  return "";xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function listCollation() {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->adapter == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->query("SHOW COLLATION");xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  return "";xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function insertId() {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->method == "pdo") {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->conn->lastInsertId();xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return @mysql_insert_id($this->conn);xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->method == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  return sqlite_last_insert_rowid($this-conn);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function escapeString($toEscape) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->method == "pdo") {xfpHTML5中文学习网 - HTML5先行者学习网

  $toEscape = $this->conn->quote($toEscape);xfpHTML5中文学习网 - HTML5先行者学习网

  $toEscape = substr($toEscape, 1, -1);xfpHTML5中文学习网 - HTML5先行者学习网

  return $toEscape;xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return mysql_real_escape_string($toEscape);xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  return sqlite_escape_string($toEscape);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function getVersion() {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  // cachexfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->version) {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->version;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->adapter == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  $verSql = mysql_get_server_info();xfpHTML5中文学习网 - HTML5先行者学习网

  $version = explode("-", $verSql);xfpHTML5中文学习网 - HTML5先行者学习网

  $this->version = $version[0];xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->version;xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->version = sqlite_libversion();xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->version;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  // returns the number of rows in a tablexfpHTML5中文学习网 - HTML5先行者学习网

  function tableRowCount($table) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->adapter == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  $countSql = $this->query("SELECT COUNT(*) AS `RowCount` FROM `" . $table . "`");xfpHTML5中文学习网 - HTML5先行者学习网

  $count = (int)($this->result($countSql, 0, "RowCount"));xfpHTML5中文学习网 - HTML5先行者学习网

  return $count;xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  $countSql = $this->query("SELECT COUNT(*) AS 'RowCount' FROM '" . $table . "'");xfpHTML5中文学习网 - HTML5先行者学习网

  $count = (int)($this->result($countSql, 0, "RowCount"));xfpHTML5中文学习网 - HTML5先行者学习网

  return $count;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  // gets column info for a tablexfpHTML5中文学习网 - HTML5先行者学习网

  function describeTable($table) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->adapter == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->query("DESCRIBE `" . $table . "`");xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  $columnSql = $this->query("SELECT sql FROM sqlite_master where tbl_name = '" . $table . "'");xfpHTML5中文学习网 - HTML5先行者学习网

  $columnInfo = $this->result($columnSql, 0, "sql");xfpHTML5中文学习网 - HTML5先行者学习网

  $columnStart = strpos($columnInfo, '(');xfpHTML5中文学习网 - HTML5先行者学习网

  $columns = substr($columnInfo, $columnStart+1, -1);xfpHTML5中文学习网 - HTML5先行者学习网

  $columns = split(',[^0-9]', $columns);xfpHTML5中文学习网 - HTML5先行者学习网

  $columnList = array();xfpHTML5中文学习网 - HTML5先行者学习网

  foreach ($columns as $column) {xfpHTML5中文学习网 - HTML5先行者学习网

  $column = trim($column);xfpHTML5中文学习网 - HTML5先行者学习网

  $columnSplit = explode(" ", $column, 2);xfpHTML5中文学习网 - HTML5先行者学习网

  $columnName = $columnSplit[0];xfpHTML5中文学习网 - HTML5先行者学习网

  $columnType = (sizeof($columnSplit) > 1) ? $columnSplit[1] : "";xfpHTML5中文学习网 - HTML5先行者学习网

  $columnList[] = array($columnName, $columnType);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  return $columnList;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  /*xfpHTML5中文学习网 - HTML5先行者学习网

  Return names, row counts etc for every database, table and view in a JSON stringxfpHTML5中文学习网 - HTML5先行者学习网

  */xfpHTML5中文学习网 - HTML5先行者学习网

  function getMetadata() {xfpHTML5中文学习网 - HTML5先行者学习网

  $output = '';xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->conn) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->adapter == "mysql" && version_compare($this->getVersion(), "5.0.0", ">=")) {xfpHTML5中文学习网 - HTML5先行者学习网

  $this->selectDB("information_schema");xfpHTML5中文学习网 - HTML5先行者学习网

  $schemaSql = $this->query("SELECT `SCHEMA_NAME` FROM `SCHEMATA` ORDER BY `SCHEMA_NAME`");xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->rowCount($schemaSql)) {xfpHTML5中文学习网 - HTML5先行者学习网

  while ($schema = $this->fetchAssoc($schemaSql)) {xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= '{"name": "' . $schema['SCHEMA_NAME'] . '"';xfpHTML5中文学习网 - HTML5先行者学习网

  // other interesting columns: TABLE_TYPE, ENGINE, TABLE_COLUMN and many morexfpHTML5中文学习网 - HTML5先行者学习网

  $tableSql = $this->query("SELECT `TABLE_NAME`, `TABLE_ROWS` FROM `TABLES` WHERE `TABLE_SCHEMA`='" . $schema['SCHEMA_NAME'] . "' ORDER BY `TABLE_NAME`");xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->rowCount($tableSql)) {xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= ',"items": [';xfpHTML5中文学习网 - HTML5先行者学习网

  while ($table = $this->fetchAssoc($tableSql)) {xfpHTML5中文学习网 - HTML5先行者学习网

  if ($schema['SCHEMA_NAME'] == "information_schema") {xfpHTML5中文学习网 - HTML5先行者学习网

  $countSql = $this->query("SELECT COUNT(*) AS `RowCount` FROM `" . $table['TABLE_NAME'] . "`");xfpHTML5中文学习网 - HTML5先行者学习网

  $rowCount = (int)($this->result($countSql, 0, "RowCount"));xfpHTML5中文学习网 - HTML5先行者学习网

  } else {xfpHTML5中文学习网 - HTML5先行者学习网

  $rowCount = (int)($table['TABLE_ROWS']);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= '{"name":"' . $table['TABLE_NAME'] . '","rowcount":' . $rowCount . '},';xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  if (substr($output, -1) == ",")xfpHTML5中文学习网 - HTML5先行者学习网

  $output = substr($output, 0, -1);xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= ']';xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= '},';xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  $output = substr($output, 0, -1);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "mysql") {xfpHTML5中文学习网 - HTML5先行者学习网

  $schemaSql = $this->listDatabases();xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->rowCount($schemaSql)) {xfpHTML5中文学习网 - HTML5先行者学习网

  while ($schema = $this->fetchArray($schemaSql)) {xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= '{"name": "' . $schema[0] . '"';xfpHTML5中文学习网 - HTML5先行者学习网

  $this->selectDB($schema[0]);xfpHTML5中文学习网 - HTML5先行者学习网

  $tableSql = $this->listTables();xfpHTML5中文学习网 - HTML5先行者学习网

  if ($this->rowCount($tableSql)) {xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= ',"items": [';xfpHTML5中文学习网 - HTML5先行者学习网

  while ($table = $this->fetchArray($tableSql)) {xfpHTML5中文学习网 - HTML5先行者学习网

  $countSql = $this->query("SELECT COUNT(*) AS `RowCount` FROM `" . $table[0] . "`");xfpHTML5中文学习网 - HTML5先行者学习网

  $rowCount = (int)($this->result($countSql, 0, "RowCount"));xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= '{"name":"' . $table[0] . '","rowcount":' . $rowCount . '},';xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  if (substr($output, -1) == ",")xfpHTML5中文学习网 - HTML5先行者学习网

  $output = substr($output, 0, -1);xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= ']';xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= '},';xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  $output = substr($output, 0, -1);xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  } else if ($this->adapter == "sqlite") {xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= '{"name": "' . $this->db . '"';xfpHTML5中文学习网 - HTML5先行者学习网

  $tableSql = $this->listTables();xfpHTML5中文学习网 - HTML5先行者学习网

  if ($tableSql) {xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= ',"items": [';xfpHTML5中文学习网 - HTML5先行者学习网

  while ($tableRow = $this->fetchArray($tableSql)) {xfpHTML5中文学习网 - HTML5先行者学习网

  $countSql = $this->query("SELECT COUNT(*) AS 'RowCount' FROM '" . $tableRow[0] . "'");xfpHTML5中文学习网 - HTML5先行者学习网

  $rowCount = (int)($this->result($countSql, 0, "RowCount"));xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= '{"name":"' . $tableRow[0] . '","rowcount":' . $rowCount . '},';xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  if (substr($output, -1) == ",")xfpHTML5中文学习网 - HTML5先行者学习网

  $output = substr($output, 0, -1);xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= ']';xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  $output .= '}';xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  return $output;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  function error() {xfpHTML5中文学习网 - HTML5先行者学习网

  return $this->errorMessage;xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

  }xfpHTML5中文学习网 - HTML5先行者学习网

xfpHTML5中文学习网 - HTML5先行者学习网
xfpHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助