OSDN Git Service

[NEW] データベースをハンドルする新しいDBクラスを追加。関連する修正を反映。
[nucleus-jp/nucleus-next.git] / nucleus / libs / sql / mysql.php
diff --git a/nucleus/libs/sql/mysql.php b/nucleus/libs/sql/mysql.php
deleted file mode 100644 (file)
index f24b14d..0000000
+++ /dev/null
@@ -1,454 +0,0 @@
-<?php\r
-\r
-/*\r
- * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)\r
- * Copyright (C) 2002-2012 The Nucleus Group\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- * (see nucleus/documentation/index.html#license for more info)\r
- */\r
-/**\r
- * @license http://nucleuscms.org/license.txt GNU General Public License\r
- * @copyright Copyright (C) 2002-2012 The Nucleus Group\r
- * @version $Id: mysql.php 1750 2012-04-13 14:41:10Z sakamocchi $\r
- */\r
-/*\r
- * complete sql_* wrappers for mysql functions\r
- *\r
- * functions moved from globalfunctions.php: sql_connect, sql_disconnect, sql_query\r
- */\r
-\r
-$MYSQL_CONN = 0;\r
-\r
-if ( function_exists('mysql_query') && !function_exists('sql_fetch_assoc') )\r
-{\r
-       /**\r
-        * Errors before the database connection has been made\r
-        */\r
-       function startUpError($msg, $title)\r
-       {\r
-               echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";\r
-               echo '<head><title>' . Entity::hsc($title) . "</title></head>\n";\r
-               echo "<body>\n";\r
-               echo '<h1>' . Entity::hsc($title) . "</h1>\n";\r
-               echo "<p>{$msg}</p>\n";\r
-               echo "</body>\n";\r
-               echo "</html>\n";\r
-               exit;\r
-       }\r
-       \r
-       /**\r
-        * Connects to mysql server with arguments\r
-        */\r
-       function sql_connect_args($mysql_host = 'localhost', $mysql_user = '', $mysql_password = '', $mysql_database = '', $new_link = FALSE)\r
-       {\r
-               $CONN = @mysql_connect($mysql_host, $mysql_user, $mysql_password, $new_link);\r
-               \r
-               if ( $mysql_database )\r
-               {\r
-                       mysql_select_db($mysql_database,$CONN);\r
-                       sql_set_charset('utf8');\r
-               }\r
-               \r
-               /*\r
-               // For debugging\r
-               $result = sql_query('SHOW VARIABLES LIKE \'char%\';');\r
-               while(FALSE !== ($row = sql_fetch_row($result)))\r
-               {\r
-                       echo "{$row[0]}: {$row[1]}\n";\r
-               }\r
-               */\r
-               \r
-               return $CONN;\r
-       }\r
-       \r
-       /**\r
-        * Connects to mysql server\r
-        */\r
-       function sql_connect()\r
-       {\r
-               global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_CONN;\r
-               \r
-               $MYSQL_CONN = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or startUpError('<p>Could not connect to MySQL database.</p>', 'Connect Error');\r
-               mysql_select_db($MYSQL_DATABASE) or startUpError('<p>Could not select database: ' . mysql_error() . '</p>', 'Connect Error');\r
-               \r
-               sql_set_charset('utf8');\r
-               \r
-               /*\r
-               // For debugging\r
-               $result = sql_query('SHOW VARIABLES LIKE \'char%\';');\r
-               while(FALSE !== ($row = sql_fetch_row($result)))\r
-               {\r
-                       echo "{$row[0]}: {$row[1]}\n";\r
-               }\r
-               */\r
-               \r
-               return $MYSQL_CONN;\r
-       }\r
-       \r
-       /**\r
-        * disconnects from SQL server\r
-        */\r
-       function sql_disconnect($conn = false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               @mysql_close($conn);\r
-       }\r
-       \r
-       /**\r
-        * sql_close()\r
-        * use sql_disconnect() instead of this\r
-        * \r
-        * @deprecated\r
-        * @param       resource        $conn   resource of mySQL connection\r
-        * @return      void\r
-        */\r
-       function sql_close($conn = false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               @mysql_close($conn);\r
-               return;
-       }\r
-       \r
-       /**\r
-        * executes an SQL query\r
-        */\r
-       function sql_query($query,$conn = false)\r
-       {\r
-               global $SQLCount,$MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               $SQLCount++;\r
-               $res = mysql_query($query,$conn) or print("mySQL error with query $query: " . mysql_error($conn) . '<p />');\r
-               return $res;\r
-       }\r
-       \r
-       /**\r
-        * executes an SQL error\r
-        */\r
-       function sql_error($conn = false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               return mysql_error($conn);\r
-       }\r
-       \r
-       /**\r
-        * executes an SQL db select\r
-        */\r
-       function sql_select_db($db,$conn = false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               return mysql_select_db($db,$conn);\r
-       }\r
-       \r
-       /**\r
-        * executes an SQL real escape\r
-        */\r
-       function sql_real_escape_string($val, $conn = false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if (!$conn)\r
-               {\r
-                       $conn =& $MYSQL_CONN;\r
-               }\r
-               return mysql_real_escape_string($val, $conn);\r
-       }\r
-       \r
-       /**\r
-        * executes an PDO::quote() like escape, ie adds quotes arround the string and escapes chars as needed\r
-        */\r
-       function sql_quote_string($val, $conn = false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               return "'".mysql_real_escape_string($val,$conn)."'";\r
-       }\r
-       \r
-       /**\r
-        * executes an SQL insert id\r
-        */\r
-       function sql_insert_id($conn = false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               return mysql_insert_id($conn);\r
-       }\r
-       \r
-       /**\r
-        * executes an SQL result request\r
-        */\r
-       function sql_result($res, $row, $col)\r
-       {\r
-               return mysql_result($res,$row,$col);\r
-       }\r
-       \r
-       /**\r
-        * frees sql result resources\r
-        */\r
-       function sql_free_result($res)\r
-       {\r
-               return mysql_free_result($res);\r
-       }\r
-       \r
-       /**\r
-        * returns number of rows in SQL result\r
-        */\r
-       function sql_num_rows($res)\r
-       {\r
-               return mysql_num_rows($res);\r
-       }\r
-       \r
-       /**\r
-        * returns number of rows affected by SQL query\r
-        */\r
-       function sql_affected_rows($conn = false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               return mysql_affected_rows($conn);\r
-       }\r
-       \r
-       /**\r
-        * Get number of fields in result\r
-        */\r
-       function sql_num_fields($res)\r
-       {\r
-               return mysql_num_fields($res);\r
-       }\r
-       \r
-       /**\r
-        * fetches next row of SQL result as an associative array\r
-        */\r
-       function sql_fetch_assoc($res)\r
-       {\r
-               return mysql_fetch_assoc($res);\r
-       }\r
-       \r
-       /**\r
-        * Fetch a result row as an associative array, a numeric array, or both\r
-        */\r
-       function sql_fetch_array($res)\r
-       {\r
-               return mysql_fetch_array($res);\r
-       }\r
-       \r
-       /**\r
-        * fetches next row of SQL result as an object\r
-        */\r
-       function sql_fetch_object($res)\r
-       {\r
-               return mysql_fetch_object($res);\r
-       }\r
-       \r
-       /**\r
-        * Get a result row as an enumerated array\r
-        */\r
-       function sql_fetch_row($res)\r
-       {\r
-               return mysql_fetch_row($res);\r
-       }\r
-       \r
-       /**\r
-        * Get column information from a result and return as an object\r
-        */\r
-       function sql_fetch_field($res,$offset = 0)\r
-       {\r
-               return mysql_fetch_field($res,$offset);\r
-       }\r
-       \r
-       /**\r
-        * Get current system status (returns string)\r
-        */\r
-       function sql_stat($conn=false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               return mysql_stat($conn);\r
-       }\r
-       \r
-       /**\r
-        * Returns the name of the character set\r
-        */\r
-       function sql_client_encoding($conn=false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               return mysql_client_encoding($conn);\r
-       }\r
-       \r
-       /**\r
-        * Get SQL client version\r
-        */\r
-       function sql_get_client_info()\r
-       {\r
-               return mysql_get_client_info();\r
-       }\r
-       \r
-       /**\r
-        * Get SQL server version\r
-        */\r
-       function sql_get_server_info($conn=false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               return mysql_get_server_info($conn);\r
-       }\r
-       \r
-       /**\r
-        * Returns a string describing the type of SQL connection in use for the connection or FALSE on failure\r
-        */\r
-       function sql_get_host_info($conn=false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               return mysql_get_host_info($conn);\r
-       }\r
-       \r
-       /**\r
-        * Returns the SQL protocol on success, or FALSE on failure.\r
-        */\r
-       function sql_get_proto_info($conn=false)\r
-       {\r
-               global $MYSQL_CONN;\r
-               if ( !$conn )\r
-               {\r
-                       $conn = $MYSQL_CONN;\r
-               }\r
-               return mysql_get_proto_info($conn);\r
-       }\r
-       \r
-       /**\r
-        * Get the name of the specified field in a result\r
-        */\r
-       function sql_field_name($res, $offset = 0)\r
-       {\r
-               return mysql_field_name($res, $offset);\r
-       }\r
-       \r
-       /**\r
-        * Set character encodings in each fields related to MySQL connection.\r
-        */\r
-       function sql_set_charset($charset)\r
-       {\r
-               global $MYSQL_CONN;\r
-               \r
-               /*\r
-                * NOTE:\r
-                *\r
-                * We decided to ignore which character encodings is set in each text field of MySQL table!\r
-                *\r
-                * There are differences between "SET NAMES xxx;" and "SET CHARACTER SET xxx;"\r
-                *  according MySQL version.\r
-                * http://dev.mysql.com/doc/refman/4.1/en/charset-connection.html\r
-                * http://dev.mysql.com/doc/refman/5.1/en/charset-connection.html\r
-                *\r
-                * And mysql_set_charset() execute "SET NAMES xxx;" internally and set mysql->charset as xxx.\r
-                *  refering to  MySQL C API.\r
-                * http://dev.mysql.com/doc/refman/5.1/ja/mysql-set-character-set.html\r
-                * http://php.net/manual/en/function.mysql-set-charset.php\r
-                *\r
-                * mysql_real_escape_string() is affected by mysql->charset,\r
-                *  refering to  MySQL C API.\r
-                * http://dev.mysql.com/doc/refman/5.1/en/mysql-real-escape-string.html\r
-                * http://php.net/manual/en/function.mysql-real-escape-string.php\r
-                *\r
-                * But using the same character encoding in character_set_client and the strings is\r
-                *  more important than mysql->charset\r
-                *  because mysql_real_escape_string() escape some characters in ASCII character set.\r
-                *\r
-                */\r
-               $charset = strtolower($charset);\r
-               $mysql_version = preg_replace('#^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{1,2})(.*)$#', '$1.$2.$3', sql_get_server_info($MYSQL_CONN));\r
-               \r
-               if ( version_compare($mysql_version, '5.0.7', '>=') && function_exists('mysql_set_charset') )\r
-               {\r
-                       $result = mysql_set_charset($charset);\r
-               }\r
-               else if ( version_compare($mysql_version, '5.0.7', '<') )\r
-               {\r
-                       $result = sql_query("SET CHARACTER SET {$charset};");\r
-               }\r
-               else\r
-               {\r
-                       $result = sql_query("SET NAMES {$charset};");\r
-               }\r
-               \r
-               return $result;\r
-       }\r
-\r
-/**************************************************************************\r
-Unimplemented mysql_* functions\r
-\r
-# mysql_ data_ seek (maybe useful)\r
-# mysql_ errno (maybe useful)\r
-# mysql_ fetch_ lengths (maybe useful)\r
-# mysql_ field_ flags (maybe useful)\r
-# mysql_ field_ len (maybe useful)\r
-# mysql_ field_ seek (maybe useful)\r
-# mysql_ field_ table (maybe useful)\r
-# mysql_ field_ type (maybe useful)\r
-# mysql_ info (maybe useful)\r
-# mysql_ list_ processes (maybe useful)\r
-# mysql_ ping (maybe useful)\r
-# mysql_ set_ charset (maybe useful, requires php >=5.2.3 and mysql >=5.0.7)\r
-# mysql_ thread_ id (maybe useful)\r
-\r
-# mysql_ db_ name (useful only if working on multiple dbs which we do not do)\r
-# mysql_ list_ dbs (useful only if working on multiple dbs which we do not do)\r
-\r
-# mysql_ pconnect (probably not useful and could cause some unintended performance issues)\r
-# mysql_ unbuffered_ query (possibly useful, but complicated and not supported by all database drivers (pdo))\r
-\r
-# mysql_ change_ user (deprecated)\r
-# mysql_ create_ db (deprecated)\r
-# mysql_ db_ query (deprecated)\r
-# mysql_ drop_ db (deprecated)\r
-# mysql_ escape_ string (deprecated)\r
-# mysql_ list_ fields (deprecated)\r
-# mysql_ list_ tables (deprecated)\r
-# mysql_ tablename (deprecated)\r
-\r
-*******************************************************************/\r
-}\r