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-2017 iDB Support - http://idb.berlios.de/
12 Copyright 2004-2017 Game Maker 2k - http://gamemaker2k.org/
14 $FileInfo: sqlite3.php - Last Update: 01/26/2017 SVN 810 - Author: cooldude2k $
16 $File3Name = basename($_SERVER['SCRIPT_NAME']);
17 if ($File3Name=="sqlite3.php"||$File3Name=="/sqlite3.php") {
18 @header('Location: index.php');
21 function sql_error($link=null) {
24 $result = $link->lastErrorMsg(); }
26 $result = $SQLStat->lastErrorMsg(); }
30 function sql_errno($link=null) {
33 $result = $link->lastErrorCode(); }
35 $result = $SQLStat->lastErrorCode(); }
39 function sql_errorno($link=null) {
42 $result = $link->lastErrorCode().": ".$link->lastErrorMsg(); }
44 $result = $SQLStat->lastErrorCode().": ".$SQLStat->lastErrorMsg(); }
50 function sql_query($query,$link=null) {
51 global $NumQueries,$SQLStat;
53 $result = $link->query($query); }
55 $result = $SQLStat->query($query); }
56 if ($result===false) {
57 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
59 if ($result!==false) {
62 //Fetch Number of Rows
63 function sql_num_rows($result) {
66 while ($result->fetchArray()) {
70 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
73 // Connect to sqlite database
74 function sql_connect_db($server,$username,$password,$database=null,$new_link=false) {
75 if($new_link!==true) { $new_link = false; }
76 if($database===null) {
78 if($database!==null) {
79 $link = new SQLite3($database,SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE); }
81 output_error("Not connected: ".$sqliteerror,E_USER_ERROR);
84 function sql_disconnect_db($link=null) {
86 return $link->close(); }
88 return $SQLStat->close(); } }
90 function sql_result($result,$row,$field=0) {
95 $result->fetchArray();
98 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
100 $trow = $result->fetchArray();
101 if(!isset($trow[$field])) { $trow[$field] = null; }
102 $retval = $trow[$field];
105 function sql_free_result($result) {
107 //Fetch Results to Array
108 function sql_fetch_array($result,$result_type=SQLITE3_BOTH) {
109 $row = $result->fetchArray($result_type);
111 //Fetch Results to Associative Array
112 function sql_fetch_assoc($result) {
113 $row = $result->fetchArray(SQLITE3_ASSOC);
116 function sql_fetch_row($result) {
117 $row = $result->fetchArray(SQLITE3_NUM);
120 function sql_server_info($link=null) {
121 $result = SQLite3::version()['versionString'];
124 function sql_client_info($link=null) {
126 function sql_escape_string($string,$link=null) {
127 $string = SQLite3::escapeString($string);
128 if ($string===false) {
129 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
132 // SafeSQL Lite Source Code by Cool Dude 2k
133 // Make SQL Query's safe
134 function sql_pre_query($query_string,$query_vars) {
135 $query_array = array(array("%i","%I","%F","%S"),array("%d","%d","%f","%s"));
136 $query_string = str_replace($query_array[0], $query_array[1], $query_string);
137 if (get_magic_quotes_gpc()) {
138 $query_vars = array_map("stripslashes", $query_vars); }
139 $query_vars = array_map("sql_escape_string", $query_vars);
140 $query_val = $query_vars;
141 $query_num = count($query_val);
143 while ($query_i < $query_num) {
144 $query_is = $query_i+1;
145 $query_val[$query_is] = $query_vars[$query_i];
147 $query_val[0] = $query_string;
148 return call_user_func_array("sprintf",$query_val); }
149 function sql_set_charset($charset,$link=null) {
152 function sql_set_charset($charset,$link=null) {
153 if(function_exists('mysql_set_charset')===false) {
155 $result = sql_query("SET CHARACTER SET '".$charset."'"); }
157 $result = sql_query("SET CHARACTER SET '".$charset."'",$link); }
158 if ($result===false) {
159 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
162 $result = sql_query("SET NAMES '".$charset."'"); }
164 $result = sql_query("SET NAMES '".$charset."'",$link); }
165 if ($result===false) {
166 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
169 if(function_exists('mysql_set_charset')===true) {
171 $result = mysql_set_charset($charset,$link); }
173 $result = mysql_set_charset($charset); }
174 if ($result===false) {
175 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
178 if(function_exists('mysql_set_charset')===false) {
179 function mysql_set_charset($charset,$link) {
181 $result = sql_set_charset($charset,$link); }
183 $result = sql_set_charset($charset); }
184 if ($result===false) {
185 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
189 // Get next id for stuff
190 function sql_get_next_id($tablepre,$table,$link=null) {
192 $nid = $link->lastInsertRowID(); }
194 $nid = $SQLStat->lastInsertRowID(); }
196 // Get number of rows for table
197 function sql_get_num_rows($tablepre,$table,$link=null) {
198 $getnextidq = sql_pre_query("SHOW TABLE STATUS LIKE '".$tablepre.$table."'", array());
200 $getnextidr = sql_query($getnextidq); }
202 $getnextidr = sql_query($getnextidq,$link); }
203 $getnextid = sql_fetch_assoc($getnextidr);
204 return $getnextid['Rows'];
205 @sql_free_result($getnextidr); }