Small update
[iDB.git] / inc / misc / sql / sqlite.php
blob04dcf04c7f46d1a8dbfe16db3b31abe1b26eb307
1 <?php
2 /*
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the Revised BSD License.
6 This program is distributed in the hope that it will be useful,
7 but WITHOUT ANY WARRANTY; without even the implied warranty of
8 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 Revised BSD License for more details.
11 Copyright 2004-2019 iDB Support - https://idb.osdn.jp/support/category.php?act=view&id=1
12 Copyright 2004-2019 Game Maker 2k - https://idb.osdn.jp/support/category.php?act=view&id=2
14 $FileInfo: sqlite.php - Last Update: 08/02/2019 SVN 905 - Author: cooldude2k $
16 $File3Name = basename($_SERVER['SCRIPT_NAME']);
17 if ($File3Name=="sqlite.php"||$File3Name=="/sqlite.php") {
18 @header('Location: index.php');
19 exit(); }
20 // SQLite Functions.
21 function sql_error($link=null) {
22 global $SQLStat;
23 if(isset($link)) {
24 $result = sqlite_error_string(sqlite_last_error($link)); }
25 if(!isset($link)) {
26 $result = sqlite_error_string(sqlite_last_error($SQLStat)); }
27 if ($result=="") {
28 return ""; }
29 return $result; }
30 function sql_errno($link=null) {
31 global $SQLStat;
32 if(isset($link)) {
33 $result = sqlite_last_error($link); }
34 if(!isset($link)) {
35 $result = sqlite_last_error($SQLStat); }
36 if ($result===0) {
37 return 0; }
38 return $result; }
39 function sql_errorno($link=null) {
40 global $SQLStat;
41 if(isset($link)) {
42 $result = sqlite_last_error($link).": ".sqlite_error_string(sqlite_last_error($link)); }
43 if(!isset($link)) {
44 $result = sqlite_last_error($SQLStat).": ".sqlite_error_string(sqlite_last_error($SQLStat)); }
45 if ($result=="") {
46 return ""; }
47 return $result; }
48 // Execute a query :P
49 $NumQueries = 0;
50 function sql_query($query,$link=null) {
51 global $NumQueries,$SQLStat;
52 if(isset($link)) {
53 $result = sqlite_query($link,$query); }
54 if(!isset($link)) {
55 $result = sqlite_query($SQLStat,$query); }
56 if ($result===false) {
57 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
58 return false; }
59 if ($result!==false) {
60 ++$NumQueries;
61 return $result; } }
62 //Fetch Number of Rows
63 function sql_num_rows($result) {
64 $num = sqlite_num_rows($result);
65 if ($num===false) {
66 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
67 return false; }
68 return $num; }
69 // Connect to sqlite database
70 function sql_connect_db($server,$username,$password,$database=null,$new_link=false) {
71 if($new_link!==true) { $new_link = false; }
72 if($database===null) {
73 return true; }
74 if($database!==null) {
75 $link = sqlite_open($database,0666,$sqliteerror); }
76 if ($link===false) {
77 output_error("Not connected: ".$sqliteerror,E_USER_ERROR);
78 return false; }
79 return $link; }
80 function sql_disconnect_db($link=null) {
81 return sqlite_close($link); }
82 // Query Results :P
83 function sql_result($result,$row,$field=0) {
84 $check = sqlite_seek($result,$row);
85 if ($check===false) {
86 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
87 return false; }
88 $trow = sqlite_fetch_array($result);
89 if(!isset($trow[$field])) { $trow[$field] = null; }
90 $retval = $trow[$field];
91 return $retval; }
92 // Free Results :P
93 function sql_free_result($result) {
94 return true; }
95 //Fetch Results to Array
96 function sql_fetch_array($result,$result_type=SQLITE_BOTH) {
97 $row = sqlite_fetch_array($result,$result_type);
98 return $row; }
99 //Fetch Results to Associative Array
100 function sql_fetch_assoc($result) {
101 $row = sqlite_fetch_array($result,SQLITE_ASSOC);
102 return $row; }
103 //Fetch Row Results
104 function sql_fetch_row($result) {
105 $row = sqlite_fetch_array($result,SQLITE_NUM);
106 return $row; }
107 //Get Server Info
108 function sql_server_info($link=null) {
109 $result = sqlite_libversion();
110 return $result; }
111 //Get Client Info
112 function sql_client_info($link=null) {
113 return null; }
114 function sql_escape_string($string,$link=null) {
115 $string = sqlite_escape_string($string);
116 if ($string===false) {
117 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
118 return false; }
119 return $string; }
120 // SafeSQL Lite Source Code by Cool Dude 2k
121 // Make SQL Query's safe
122 function sql_pre_query($query_string,$query_vars) {
123 $query_array = array(array("%i","%I","%F","%S"),array("%d","%d","%f","%s"));
124 $query_string = str_replace($query_array[0], $query_array[1], $query_string);
125 if (get_magic_quotes_gpc()) {
126 $query_vars = array_map("stripslashes", $query_vars); }
127 $query_vars = array_map("sql_escape_string", $query_vars);
128 $query_val = $query_vars;
129 $query_num = count($query_val);
130 $query_i = 0;
131 while ($query_i < $query_num) {
132 $query_is = $query_i+1;
133 $query_val[$query_is] = $query_vars[$query_i];
134 ++$query_i; }
135 $query_val[0] = $query_string;
136 return call_user_func_array("sprintf",$query_val); }
137 function sql_set_charset($charset,$link=null) {
138 return true; }
140 function sql_set_charset($charset,$link=null) {
141 if(function_exists('mysql_set_charset')===false) {
142 if(!isset($link)) {
143 $result = sql_query("SET CHARACTER SET '".$charset."'"); }
144 if(isset($link)) {
145 $result = sql_query("SET CHARACTER SET '".$charset."'",$link); }
146 if ($result===false) {
147 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
148 return false; }
149 if(!isset($link)) {
150 $result = sql_query("SET NAMES '".$charset."'"); }
151 if(isset($link)) {
152 $result = sql_query("SET NAMES '".$charset."'",$link); }
153 if ($result===false) {
154 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
155 return false; }
156 return true; }
157 if(function_exists('mysql_set_charset')===true) {
158 if(isset($link)) {
159 $result = mysql_set_charset($charset,$link); }
160 if(!isset($link)) {
161 $result = mysql_set_charset($charset); }
162 if ($result===false) {
163 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
164 return false; }
165 return true; }
166 if(function_exists('mysql_set_charset')===false) {
167 function mysql_set_charset($charset,$link) {
168 if(isset($link)) {
169 $result = sql_set_charset($charset,$link); }
170 if(!isset($link)) {
171 $result = sql_set_charset($charset); }
172 if ($result===false) {
173 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
174 return false; }
175 return true; } }
177 // Get next id for stuff
178 function sql_get_next_id($tablepre,$table,$link=null) {
179 $nid = sqlite_last_insert_rowid($link);
180 return $nid; }
181 // Get number of rows for table
182 function sql_get_num_rows($tablepre,$table,$link=null) {
183 $getnextidq = sql_pre_query("SHOW TABLE STATUS LIKE '".$tablepre.$table."'", array());
184 if(!isset($link)) {
185 $getnextidr = sql_query($getnextidq); }
186 if(isset($link)) {
187 $getnextidr = sql_query($getnextidq,$link); }
188 $getnextid = sql_fetch_assoc($getnextidr);
189 return $getnextid['Rows'];
190 @sql_free_result($getnextidr); }