Update killglobals.php
[iDB.git] / inc / misc / sql / cubrid.php
blob5beabf0891c55a7730029606450c52e0f102a16e
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-2023 iDB Support - https://idb.osdn.jp/support/category.php?act=view&id=1
12 Copyright 2004-2023 Game Maker 2k - https://idb.osdn.jp/support/category.php?act=view&id=2
14 $FileInfo: cubrid.php - Last Update: 6/22/2023 SVN 984 - Author: cooldude2k $
16 $File3Name = basename($_SERVER['SCRIPT_NAME']);
17 if ($File3Name=="cubrid.php"||$File3Name=="/cubrid.php") {
18 @header('Location: index.php');
19 exit(); }
20 // CUBRID Functions.
21 function sql_error($link=null) {
22 $result = cubrid_error_msg();
23 return $result; }
24 function sql_errno($link=null) {
25 $result = cubrid_error_code();
26 return $result; }
27 function sql_errorno($link=null) {
28 $result = sql_error();
29 $resultno = sql_errno();
30 $result = $resultno.": ".$result;
31 return $result; }
32 // Execute a query :P
33 $NumQueries = 0;
34 function sql_query($query,$link=null) {
35 global $NumQueries;
36 if(isset($link)) {
37 $result = cubrid_query($query,$link); }
38 if(!isset($link)) {
39 $result = cubrid_query($query); }
40 if ($result===false) {
41 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
42 return false; }
43 if ($result!==false) {
44 ++$NumQueries;
45 return $result; } }
46 //Fetch Number of Rows
47 function sql_num_rows($result) {
48 $num = cubrid_num_rows($result);
49 if ($num===false) {
50 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
51 return false; }
52 return $num; }
53 // Connect to mysql database
54 function sql_connect_db($server,$username,$password,$database=null,$new_link=false) {
55 if($new_link!==true) { $new_link = false; }
56 if($database===null) {
57 return true; }
58 if($database!==null) {
59 $myport = "30000";
60 $hostex = explode(":", $server);
61 if(isset($hostex[1])&&
62 !is_numeric($hostex[1])) {
63 $hostex[1] = $myport; }
64 if(isset($hostex[1])) {
65 $server = $hostex[0];
66 $myport = $hostex[1]; }
67 $link = cubrid_connect($server,$myport,$database,$username,$password);
68 cubrid_set_autocommit($link,CUBRID_AUTOCOMMIT_TRUE); }
69 if ($link===false) {
70 output_error("Not connected: ".$sqliteerror,E_USER_ERROR);
71 return false; }
72 return $link; }
73 function sql_disconnect_db($link=null) {
74 return cubrid_disconnect($link); }
75 // Query Results :P
76 function sql_result($result,$row,$field=0) {
77 if(isset($field)&&!is_numeric($field)) {
78 $field = strtolower($field); }
79 $value = cubrid_result($result, $row, $field);
80 if ($value===false) {
81 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
82 return false; }
83 return $value; }
84 // Free Results :P
85 function sql_free_result($result) {
86 $fresult = cubrid_free_result($result);
87 if ($fresult===false) {
88 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
89 return false; }
90 $fresult = cubrid_close_request($result);
91 if ($fresult===false) {
92 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
93 return false; }
94 if ($fresult===true) {
95 return true; } }
96 //Fetch Results to Array
97 function sql_fetch_array($result,$result_type=CUBRID_BOTH) {
98 $row = cubrid_fetch_array($result,$result_type);
99 return $row; }
100 //Fetch Results to Associative Array
101 function sql_fetch_assoc($result) {
102 $row = cubrid_fetch_assoc($result);
103 return $row; }
104 //Fetch Row Results
105 function sql_fetch_row($result) {
106 $row = cubrid_fetch_row($result);
107 return $row; }
108 //Get Server Info
109 function sql_server_info($link=null) {
110 if(isset($link)) {
111 $result = cubrid_get_server_info($link); }
112 if(!isset($link)) {
113 $result = cubrid_get_server_info(); }
114 return $result; }
115 //Get Client Info
116 function sql_client_info($link=null) {
117 $result = cubrid_get_client_info();
118 return $result; }
119 function sql_escape_string($string,$link=null) {
120 if(isset($string)) {
121 if(isset($link)) {
122 $string = cubrid_real_escape_string($string,$link); }
123 if(!isset($link)) {
124 $string = cubrid_real_escape_string($string); } }
125 if ($string===false) {
126 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
127 return false; }
128 return $string; }
129 // SafeSQL Lite Source Code by Cool Dude 2k
130 // Make SQL Query's safe
131 function sql_pre_query($query_string,$query_vars) {
132 $query_array = array(array("%i","%I","%F","%S"),array("%d","%d","%f","%s"));
133 $query_string = str_replace($query_array[0], $query_array[1], $query_string);
134 if (get_magic_quotes_gpc()) {
135 $query_vars = array_map("stripslashes", $query_vars); }
136 $query_vars = array_map("sql_escape_string", $query_vars);
137 $query_val = $query_vars;
138 $query_num = count($query_val);
139 $query_i = 0;
140 while ($query_i < $query_num) {
141 $query_is = $query_i+1;
142 $query_val[$query_is] = $query_vars[$query_i];
143 ++$query_i; }
144 $query_val[0] = $query_string;
145 return call_user_func_array("sprintf",$query_val); }
146 function sql_set_charset($charset,$link=null) {
147 return true; }
149 function sql_set_charset($charset,$link=null) {
150 if(function_exists('mysql_set_charset')===false) {
151 if(!isset($link)) {
152 $result = sql_query("SET CHARACTER SET '".$charset."'"); }
153 if(isset($link)) {
154 $result = sql_query("SET CHARACTER SET '".$charset."'",$link); }
155 if ($result===false) {
156 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
157 return false; }
158 if(!isset($link)) {
159 $result = sql_query("SET NAMES '".$charset."'"); }
160 if(isset($link)) {
161 $result = sql_query("SET NAMES '".$charset."'",$link); }
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')===true) {
167 if(isset($link)) {
168 $result = mysql_set_charset($charset,$link); }
169 if(!isset($link)) {
170 $result = mysql_set_charset($charset); }
171 if ($result===false) {
172 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
173 return false; }
174 return true; }
175 if(function_exists('mysql_set_charset')===false) {
176 function mysql_set_charset($charset,$link) {
177 if(isset($link)) {
178 $result = sql_set_charset($charset,$link); }
179 if(!isset($link)) {
180 $result = sql_set_charset($charset); }
181 if ($result===false) {
182 output_error("SQL Error: ".sql_error(),E_USER_ERROR);
183 return false; }
184 return true; } }
186 // Get next id for stuff
187 function sql_get_next_id($tablepre,$table,$link=null) {
188 $getnextidq = sql_pre_query("SELECT ".$tablepre.$table."_ai_id.current_value;", array());
189 if(!isset($link)) {
190 $result = sql_query($getnextidq); }
191 if(isset($link)) {
192 $getnextidr = sql_query($getnextidq,$link); }
193 return sql_result($getnextidr,0);
194 sql_free_result($getnextidr); }
195 // Get number of rows for table
196 function sql_get_num_rows($tablepre,$table,$link=null) {
197 $getnextidq = sql_pre_query("SHOW TABLE STATUS LIKE '".$tablepre.$table."'", array());
198 if(!isset($link)) {
199 $getnextidr = sql_query($getnextidq); }
200 if(isset($link)) {
201 $getnextidr = sql_query($getnextidq,$link); }
202 $getnextid = sql_fetch_assoc($getnextidr);
203 return $getnextid['Rows'];
204 @sql_free_result($getnextidr); }