OSDN Git Service

Continued enhancement of the sql_* api and handler files. Moved startUpError() from...
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / libs / sql / mysql.php
1 <?php
2
3 /*
4  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
5  * Copyright (C) 2002-2007 The Nucleus Group
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  * (see nucleus/documentation/index.html#license for more info)
12  */
13 /**
14  * @license http://nucleuscms.org/license.txt GNU General Public License
15  * @copyright Copyright (C) 2002-2007 The Nucleus Group
16  * @version $Id: mysql.php 1279 2008-10-23 08:18:26Z shizuki $
17  */
18  
19 /*
20  * complete sql_* wrappers for mysql functions
21  *
22  * functions moved from globalfunctions.php: sql_connect, sql_disconnect, sql_query
23  */
24
25
26 $MYSQL_CONN = 0;
27
28 if (function_exists('mysql_query') && !function_exists('sql_fetch_assoc'))
29 {
30         /**
31          *Errors before the database connection has been made
32          */
33         function startUpError($msg, $title) {
34                 ?>
35 <html xmlns="http://www.w3.org/1999/xhtml">
36         <head><title><?php echo htmlspecialchars($title)?></title></head>
37         <body>
38                 <h1><?php echo htmlspecialchars($title)?></h1>
39                 <?php echo $msg?>
40         </body>
41 </html>
42 <?php
43                 exit;
44         }
45
46         /**
47           * Connects to mysql server with arguments
48           */
49         function sql_connect_args($mysql_host = 'localhost', $mysql_user = '', $mysql_password = '', $mysql_database = '') {
50                 
51                 $CONN = @mysql_connect($mysql_host, $mysql_user, $mysql_password);
52                 if ($mysql_database) mysql_select_db($mysql_database,$CONN);
53
54                 return $CONN;
55         }
56         
57         /**
58           * Connects to mysql server
59           */
60         function sql_connect() {
61                 global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_CONN;
62
63                 $MYSQL_CONN = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or startUpError('<p>Could not connect to MySQL database.</p>', 'Connect Error');
64                 mysql_select_db($MYSQL_DATABASE) or startUpError('<p>Could not select database: ' . mysql_error() . '</p>', 'Connect Error');
65
66 /*/ <add for garble measure>
67                 $resource = sql_query("show variables LIKE 'character_set_database'");
68                 $fetchDat = sql_fetch_assoc($resource);
69                 $charset  = $fetchDat['Value'];
70                 $mySqlVer = implode('.', array_map('intval', explode('.', sql_get_server_info($MYSQL_CONN))));
71                 if ($mySqlVer >= '5.0.7' && phpversion() >= '5.2.3') {
72                         mysql_set_charset($charset);
73                 } elseif ($mySqlVer >= '4.1.0') {
74                         sql_query("SET CHARACTER SET " . $charset);
75                 }
76 // </add for garble measure>*/
77
78                 return $MYSQL_CONN;
79         }
80
81         /**
82           * disconnects from SQL server
83           */
84         function sql_disconnect($conn = false) {
85                 global $MYSQL_CONN;
86                 if (!$conn) $conn = $MYSQL_CONN;
87                 @mysql_close($conn);
88         }
89         
90         function sql_close($conn = false) {
91                 global $MYSQL_CONN;
92                 if (!$conn) $conn = $MYSQL_CONN;
93                 @mysql_close($conn);
94         }
95         
96         /**
97           * executes an SQL query
98           */
99         function sql_query($query, $conn = false) {
100                 global $SQLCount,$MYSQL_CONN;
101                 if (!$conn) $conn = $MYSQL_CONN;
102                 $SQLCount++;
103                 $res = mysql_query($query,$conn) or print("mySQL error with query $query: " . mysql_error($conn) . '<p />');
104                 return $res;
105         }
106         
107         /**
108           * executes an SQL error
109           */
110         function sql_error($conn = false)
111         {
112                 global $MYSQL_CONN;
113                 if (!$conn) $conn = $MYSQL_CONN;
114                 return mysql_error($conn);
115         }
116         
117         /**
118           * executes an SQL db select
119           */
120         function sql_select_db($db,$conn = false)
121         {
122                 global $MYSQL_CONN;
123                 if (!$conn) $conn = $MYSQL_CONN;
124                 return mysql_select_db($db,$conn);
125         }
126         
127         /**
128           * executes an SQL real escape 
129           */
130         function sql_real_escape_string($val,$conn = false)
131         {
132                 global $MYSQL_CONN;
133                 if (!$conn) $conn = $MYSQL_CONN;
134                 return mysql_real_escape_string($val,$conn);
135         }
136         
137         /**
138           * executes an SQL insert id
139           */
140         function sql_insert_id($conn = false)
141         {
142                 global $MYSQL_CONN;
143                 if (!$conn) $conn = $MYSQL_CONN;
144                 return mysql_insert_id($conn);
145         }
146         
147         /**
148           * executes an SQL result request
149           */
150         function sql_result($res, $row, $col)
151         {
152                 return mysql_result($res,$row,$col);
153         }
154         
155         /**
156           * frees sql result resources
157           */
158         function sql_free_result($res)
159         {
160                 return mysql_free_result($res);
161         }
162         
163         /**
164           * returns number of rows in SQL result
165           */
166         function sql_num_rows($res)
167         {
168                 return mysql_num_rows($res);
169         }
170         
171         /**
172           * returns number of rows affected by SQL query
173           */
174         function sql_affected_rows($res)
175         {
176                 return mysql_affected_rows($res);
177         }
178         
179         /**
180           * Get number of fields in result
181           */
182         function sql_num_fields($res)
183         {
184                 return mysql_num_fields($res);
185         }
186         
187         /**
188           * fetches next row of SQL result as an associative array
189           */
190         function sql_fetch_assoc($res)
191         {
192                 return mysql_fetch_assoc($res);
193         }
194         
195         /**
196           * Fetch a result row as an associative array, a numeric array, or both
197           */
198         function sql_fetch_array($res)
199         {
200                 return mysql_fetch_array($res);
201         }
202         
203         /**
204           * fetches next row of SQL result as an object
205           */
206         function sql_fetch_object($res)
207         {
208                 return mysql_fetch_object($res);
209         }
210         
211         /**
212           * Get a result row as an enumerated array
213           */
214         function sql_fetch_row($res)
215         {
216                 return mysql_fetch_row($res);
217         }
218         
219         /**
220           * Get column information from a result and return as an object
221           */
222         function sql_fetch_field($res,$offset = 0)
223         {
224                 return mysql_fetch_field($res,$offset);
225         }
226         
227         /**
228           * Get current system status (returns string)
229           */
230         function sql_stat($conn=false)
231         {
232                 global $MYSQL_CONN;
233                 if (!$conn) $conn = $MYSQL_CONN;
234                 return mysql_stat($conn);
235         }
236         
237         /**
238           * Returns the name of the character set
239           */
240         function sql_client_encoding($conn=false)
241         {
242                 global $MYSQL_CONN;
243                 if (!$conn) $conn = $MYSQL_CONN;
244                 return mysql_client_encoding($conn);
245         }
246         
247         /**
248           * Get SQL client version
249           */
250         function sql_get_client_info()
251         {
252                 return mysql_get_client_info();
253         }
254         
255         /**
256           * Get SQL server version
257           */
258         function sql_get_server_info($conn=false)
259         {
260                 global $MYSQL_CONN;
261                 if (!$conn) $conn = $MYSQL_CONN;
262                 return mysql_get_server_info($conn);
263         }
264         
265         /**
266           * Returns a string describing the type of SQL connection in use for the connection or FALSE on failure
267           */
268         function sql_get_host_info($conn=false)
269         {
270                 global $MYSQL_CONN;
271                 if (!$conn) $conn = $MYSQL_CONN;
272                 return mysql_get_host_info($conn);
273         }
274         
275         /**
276           * Returns the SQL protocol on success, or FALSE on failure. 
277           */
278         function sql_get_proto_info($conn=false)
279         {
280                 global $MYSQL_CONN;
281                 if (!$conn) $conn = $MYSQL_CONN;
282                 return mysql_get_proto_info($conn);
283         }
284
285 }
286
287 /**************************************************************************
288         Unimplemented mysql_* functions
289         
290 # mysql_ change_ user
291 # mysql_ create_ db
292 # mysql_ data_ seek
293 # mysql_ db_ name
294 # mysql_ db_ query
295 # mysql_ drop_ db
296 # mysql_ errno
297 # mysql_ escape_ string
298 # mysql_ fetch_ lengths
299 # mysql_ field_ flags
300 # mysql_ field_ len
301 # mysql_ field_ name
302 # mysql_ field_ seek
303 # mysql_ field_ table
304 # mysql_ field_ type
305 # mysql_ info
306 # mysql_ list_ dbs
307 # mysql_ list_ fields
308 # mysql_ list_ processes
309 # mysql_ list_ tables
310 # mysql_ pconnect
311 # mysql_ ping
312 # mysql_ set_ charset
313 # mysql_ tablename
314 # mysql_ thread_ id
315 # mysql_ unbuffered_ query
316 *******************************************************************/
317
318
319
320 ?>