3 if (! defined (
'IN_GAME' )) {
4 exit (
'Access Denied' );
17 $this->
halt (
'Can not connect to MySQL server' );
21 $this->
halt (
'Can not connect to MySQL server' );
25 if ($this->
version () >
'4.1') {
27 if (! $dbcharset && in_array ( strtolower ( $charset ), array (
'gbk',
'big5',
'utf-8' ) )) {
28 $dbcharset = str_replace (
'-',
'', $charset );
32 mysql_query (
"SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=$dbcharset" );
35 if ($this->
version () >
'5.0.1') {
36 mysql_query (
"SET sql_mode=''" );
47 return mysql_select_db (
$dbname );
51 return mysql_fetch_array ( $query, $result_type );
54 function query($sql, $type =
'') {
55 $func = $type ==
'UNBUFFERED' && function_exists (
'mysql_unbuffered_query' ) ?
'mysql_unbuffered_query' :
'mysql_query';
56 if (! ($query = $func ( $sql )) && $type !=
'SILENT') {
57 $this->
halt (
'MySQL Query Error', $sql );
60 if(strpos($sql,
'SELECT')===0){$this->selectnum ++;}
61 elseif(strpos($sql,
'INSERT')===0){$this->insertnum ++;}
62 elseif(strpos($sql,
'UPDATE')===0){$this->updatenum ++;}
63 elseif(strpos($sql,
'DELETE')===0){$this->deletenum ++;}
68 foreach (preg_split (
"/[;]+/", trim($queries)) as $query_split) {
70 foreach (preg_split (
"/[\n]+/", trim($query_split)) as $query_row){
71 if (!empty($query_row) && substr($query_row,0,2) !=
'--' && substr($query_row,0,1) !=
'#') {
75 if(substr($query, 0, 12) ==
'CREATE TABLE') {
77 }
elseif (!empty($query)) {
86 $type = strtoupper(preg_replace(
"/^\s*CREATE TABLE\s+.+\s+\(.+?\).*(ENGINE|TYPE)\s*=\s*([a-z]+?).*$/isU",
"\\2", $sql));
87 $type = in_array($type, array(
'MYISAM',
'HEAP')) ? $type :
'MYISAM';
88 return preg_replace(
"/^\s*(CREATE TABLE\s+.+\s+\(.+?\)).*$/isU",
"\\1", $sql).
89 (mysql_get_server_info() >
'4.1' ?
" ENGINE=$type DEFAULT CHARSET=$dbcharset" :
" TYPE=$type");
145 $query =
"INSERT INTO {$dbname} ";
146 $fieldlist = $valuelist =
'';
147 foreach ($data as $key => $value) {
148 $fieldlist .=
"{$key},";
149 $valuelist .=
"'{$value}',";
151 if(!empty($fieldlist) && !empty($valuelist)){
152 $query .=
'(' . substr($fieldlist, 0, -1) .
') VALUES (' . substr($valuelist, 0, -1) .
')';
154 $this->
query ($query);
159 $query =
"INSERT INTO {$tblname} ";
160 $fieldlist = $valuelist =
'';
161 foreach($data as $single){
162 $fieldtemp = $valuetemp =
'';
163 foreach ($single as $key => $value) {
164 if($key != $primary){
165 if(empty($fieldlist) && $key != $primary){
166 $fieldtemp .=
"{$key},";
168 $valuetemp .=
"'{$value}',";
171 if(empty($fieldlist)){
173 $fieldlist =
'('.substr($fieldtemp,0,-1).
')';
175 $valuelist .=
'('.substr($valuetemp,0,-1).
'),';
178 if(!empty($fieldlist) && !empty($valuelist)){
179 $query .= $fieldlist .
' VALUES ' . substr($valuelist, 0, -1);
182 $this->
query ($query);
187 $query =
"UPDATE {$dbname} SET ";
188 foreach ($data as $key => $value) {
189 $query .=
"{$key} = '{$value}',";
191 $query = substr($query, 0, -1) .
" WHERE {$where}";
192 $this->
query ($query);
197 $fields = $range = Array();
198 foreach($data as $rval){
199 $con = $rval[$confield];
201 foreach($rval as $fkey => $fval){
202 if($fkey != $confield){
203 if(isset(${$fkey.
'qry'})){
204 ${$fkey.
'qry'} .=
"WHEN '$con' THEN '$fval' ";
207 ${$fkey.
'qry'} =
"(CASE $confield WHEN '$con' THEN '$fval' ";
213 foreach($fields as $val){
214 if(!empty(${$val.
'qry'})){
215 ${$val.
'qry'} .=
"END) ";
216 $query .=
"$val = ${$val.'qry'},";
220 if($singleqry){$singleqry =
','.$singleqry;}
221 $query =
"UPDATE {$dbname} SET ".substr($query,0,-1).
"$singleqry WHERE $confield IN (".implode(
',',$range).
")";
222 $this->
query ($query);
242 return mysql_affected_rows ();
246 return mysql_error ();
250 return intval ( mysql_errno () );
254 $query = mysql_result ( $query, $row );
259 return mysql_data_seek ( $query, $row );
262 $query = mysql_num_rows ( $query );
267 return mysql_num_fields ( $query );
271 return mysql_free_result ( $query );
275 $id = mysql_insert_id ();
280 $query = mysql_fetch_row ( $query );
285 return mysql_fetch_field ( $query );
289 return mysql_get_server_info ();
293 return mysql_close ();
296 function halt($message =
'', $sql =
'') {
297 require_once
GAME_ROOT .
'./include/db_mysql_error.inc.php';
fetch_array($query, $result_type=MYSQL_ASSOC)
array_update($dbname, $data, $where)
multi_update($dbname, $data, $confield, $singleqry= '')
【生存者数:<?php echo $alivenum?> 人】< input type="button"value="显示全部幸存者"onClick="$('alivemode').value='all';$('gbmode').value='none';postCmd('alive','alive.php');"></p > if($gamblingon &&$gamestate >=20) elseif($gamblingon &&$gamestate<=10)
connect($dbhost, $dbuser, $dbpw, $dbname= '', $pconnect=0)
multi_insert($tblname, $data, $primary= '')
halt($message= '', $sql= '')
array_insert($dbname, $data)