sqlite 数据库连接类

 更新时间:2016年11月25日 16:38  点击:2265
sqlite 数据库连接类就是利用了php 与sqlite进行连接操作。
 代码如下 复制代码

 */
class db_class {
 var $conn=null;
 var $querynum = 0;

 /**
  * 数据库连接,返回数据库连接标识符
  *
  * @param string $ 数据库服务器主机
  * @param string $ 数据库服务器帐号
  * @param string $ 数据库服务器密码
  * @param string $ 数据库名
  * @param bool $ 是否保持持续连接,1为持续连接,0为非持续连接
  * @return link_identifier $dbuser, $dbpw, $dbname,
  */
 function connect($dbhost, $pconnect = 0) {
  $error = '';
  $func = $pconnect == 1 ? 'sqlite_popen' : 'sqlite_open';
  if (!$this -> conn = $func($dbhost, 0666, $error)) {
   $this -> halt($error);
  }

  return $this -> conn;
 }

 /**
  * 执行sql语句
  *
  * @param string $ sql语句
  * @param string $ 默认为空,可选值为 cache unbuffered
  * @param int $ cache以秒为单位的生命周期
  * @return resource
  */
 function query($sql , $type = '' , $expires = 3600, $dbname = '') {
  $error = '';
  $func = $type == 'unbuffered' ? 'sqlite_unbuffered_query' : 'sqlite_query';
  if (preg_match("/^s*select/i", $sql)) {
   $query = $func($this -> conn, $sql, sqlite_assoc, $error);
  } else {
   $query = sqlite_exec($this -> conn, $sql, $error);
  }
  if ($error) {
   $this -> halt($error, $sql);
  }

  $this -> querynum++;
  return $query;
 }
 /*
 *@param string $ table名
 *@param string $ where条件
 *@param string $ colum名
 
 *@param string $ limit数量 
 
 */
 function getlist($table , $wheres = "1=1",  $colums = '*' ,$limits = '3000',$orderbys="id desc") {
  $query = $this -> query("select ".$colums." from ".$table." where ".$wheres." order by  ".$orderbys."  limit ".$limits, $type, $expires, $dbname);
  while($rs = $this -> fetch_array($query)){
   $datas[]=$rs;
   }
  //print_r("select ".$colums." from ".$table." where ".$wheres." limit ".$limits);
  //print_r($rs);die();
  $this -> free_result($query);
  return $datas ;
 }
 function add_one($table , $colums ,$data ) {
  //die("insert into ".$table." (".$colums.") values(".$data.")");
  $query = $this -> query("insert into ".$table." (".$colums.") values(".$data.")", $type, $expires, $dbname);
  //return $this->insert_id();
  return $query;
 }
 function delist($table , $idarray,$wheres="no") {
  if($wheres=='no')
   $query = $this -> query("delete from ".$table." where id in(".$idarray.")", $type, $expires, $dbname);
  else
   $query = $this -> query("delete from ".$table." where ".$wheres, $type, $expires, $dbname);
  return $query;
 }
 function updatelist($table , $updatedata,$idarray) {
  $query = $this -> query("update ".$table." set ". $updatedata."  where id in(".$idarray.")", $type, $expires, $dbname);
  return $query;
 }
 //update max_vote set maxtitle='$title',maxban='$ban',
 /**
  * 执行sql语句,只得到一条记录
  *
  * @param string $ sql语句
  * @param string $ 默认为空,可选值为 cache unbuffered
  * @param int $ cache以秒为单位的生命周期
  * @return array
  */
 function get_one($sql, $type = '', $expires = 3600, $dbname = '') {
  $query = $this -> query($sql, $type, $expires, $dbname);
  $rs = $this -> fetch_array($query);
  $this -> free_result($query);
  return $rs ;
 }

 /**
  * 从结果集中取得一行作为关联数组
  *
  * @param resource $ 数据库查询结果资源
  * @param string $ 定义返回类型
  * @return array
  */
 function fetch_array($query, $result_type = sqlite_assoc) {
  return sqlite_fetch_array($query, $result_type);
 }

 /**
  * 取得前一次 sqlite操作所影响的记录行数
  *
  * @return int
  */
 function affected_rows() {
  return sqlite_changes($this -> conn);
 }

 /**
  * 取得结果集中行的数目
  *
  * @return int
  */
 function num_rows($query) {
  return sqlite_num_rows($query);
 }

 /**
  * 返回结果集中字段的数目
  *
  * @return int
  */
 function num_fields($query) {
  return sqlite_num_fields($query);
 }

 /**
  *
  * @return array 备用,一般不用.
  */
 function result($query, $row) {
  return @sqlite_fetch_all($query, sqlite_assoc);
 }
 /**
  * sqlite没有相应函数
  */
 function free_result($query) {
  return ;
 }

 /**
  * 取得上一步 insert 操作产生的 id
  *
  * @return int
  */
 function insert_id() {
  return sqlite_last_insert_rowid($this -> connid);
 }

 /**
  *
  * @return array 只得到数字索引
  */
 function fetch_row($query) {
  return sqlite_fetch_array($query, sqlite_num);
 }
 /**
  */
 function fetch_assoc($query) {
  return $this -> fetch_array($query, sqlite_assoc);
 }
 /**
  *
  * @return string
  */
 function version() {
  return sqlite_libversion();
 }

 function close() {
  return sqlite_close($this -> conn);
 }

 /**
  *
  * @return string
  */
 function error() {
  return sqlite_error_string($this -> errno);
 }

 /**
  *
  * @return int
  */
 function errno() {
  return sqlite_last_error($this -> conn);
 }

 /**
  * 显示mysql教程错误信息
  */
 function halt($message = '', $sql = '') {
  exit("sqlitequery:$sql <br> sqliteerror:" . $this -> error() . " <br> sqliteerrno:" . $this -> errno() . " <br> message:$message");
 }
}

?>

 

本款是利用php mysql 数据库操作类函数,他可以删除,修改,增加,备份等对数据库的操作哦,同时还支持两种数据库连接方式 哦,以前数据库编码等的设置。
 代码如下 复制代码

class dbstuff {
 var $querynum = 0;
 var $link;
    var $sqlid;
    var $record;
    var $dbcharset='utf-8';
    var $charset='utf-8';
 function connect($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $halt = true) {
  if($pconnect) {
   if(!$this->link = @mysql_pconnect($dbhost, $dbuser, $dbpw)) {
    $halt && $this->halt('can not connect to mysql server');
   }
  } else {
   if(!$this->link = @mysql_connect($dbhost, $dbuser, $dbpw, 1)) {
    $halt && $this->halt('can not connect to mysql server');
   }
  }

  if($this->version() > '4.1') {
   global $charset, $dbcharset;
   if(!$dbcharset && in_array(strtolower($charset), array('gbk', 'big5', 'utf-8'))) {
    $dbcharset = str_replace('-', '', $charset);
   }

   if($dbcharset) {
    @mysql_query("set character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this->link);
   }

   if($this->version() > '5.0.1') {
    @mysql_query("set sql_mode=''", $this->link);
   }
  }

  if($dbname) {
   @mysql_select_db($dbname, $this->link);
  }

 }

 function select_db($dbname) {
  return mysql_select_db($dbname, $this->link);
 }

 function fetch_array($query, $result_type = mysql_assoc) {
  return mysql_fetch_array($query, $result_type);
 }

 function query($sql, $type = '') {
  global $debug, $discuz_starttime, $sqldebug, $sqlspenttimes;

  $func = $type == 'unbuffered' && @function_exists('mysql_unbuffered_query') ?
   'mysql_unbuffered_query' : 'mysql_query';
  if(!($query = $func($sql, $this->link))) {
   if(in_array($this->errno(), array(2006, 2013)) && substr($type, 0, 5) != 'retry') {
    $this->close();
    $this->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
    $this->query($sql, 'retry'.$type);
   } elseif($type != 'silent' && substr($type, 5) != 'silent') {
    $this->halt('mysql query error', $sql);
   }
  }

  $this->querynum++;
        $this->sqlid=$query;
  return $query;
 }

 function affected_rows() {
  return mysql_affected_rows($this->link);
 }

 function error() {
  return (($this->link) ? mysql_error($this->link) : mysql_error());
 }

 function errno() {
  return intval(($this->link) ? mysql_errno($this->link) : mysql_errno());
 }

 function result($query, $row) {
  $query = @mysql_result($query, $row);
  return $query;
 }

    function result_first($sql) {
  return $this->result($this->query($sql), 0);
 }

 function num_rows($query) {
  $query = mysql_num_rows($query);
  return $query;
 }

 function num_fields($query) {
  return mysql_num_fields($query);
 }

 function free_result($query) {
  return mysql_free_result($query);
 }

 function insert_id() {
  return ($id = mysql_insert_id($this->link)) >= 0 ? $id : $this->result($this->query("select last_insert_id()"), 0);
 }

 function fetch_row($query) {
  $query = mysql_fetch_row($query);
  return $query;
 }

 function fetch_fields($query) {
  return mysql_fetch_field($query);
 }

 function version() {
  return mysql_get_server_info($this->link);
 }

 function close() {
  return mysql_close($this->link);
 }

    function nr($sql_id="") {
        if(!$sql_id) $sql_id=$this->sqlid;
     return mysql_num_rows($sql_id);
    }

    function nf($sql_id="") {
        if(!$sql_id) $sql_id=$this->sqlid;
        return mysql_num_fields($sql_id);
    }

    function nextrecord($sql_id="") {
        if(!$sql_id) $sql_id=$this->sqlid;
        if($this->record=mysql_fetch_array($sql_id))  return $this->record;
        else return false;
    }

    function f($name) {
        if($this->record[$name]) return $this->record[$name];
        else return false;
    }

    function lock($tblname,$op="write") {
        if(mysql_query("lock tables ".$tblname." ".$op)) return true;
        else return false;
    }

    function unlock()
        {if(mysql_query("unlock tables")) return true; else return false;}

    function ar() {
        return @mysql_affected_rows($this->link);
    }

    function i_id() {
            return mysql_insert_id();
    }

 function halt($message = '', $sql = '') {
  define('cache_forbidden', true);
  include('db_mysql_error.inc.php');
 }
}

?>

require_once 'excel/reader.php';


// excelfile($filename, $encoding);
$data = new spreadsheet_excel_reader();


// set output encoding.
$data->setoutputencoding('cp1251');

$data->read('jxlrwtest.xls');

error_reporting(e_all ^ e_notice);

for ($i = 1; $i <= $data->sheets[0]['numrows']; $i++) {
 for ($j = 1; $j <= $data->sheets[0]['numcols']; $j++) {
  echo """.$data->sheets[0]['cells'][$i][$j]."",";
 }
 echo " ";

}

格式化输出格式

/***
*  some function for formatting output.
* $data->setdefaultformat('%.2f');
* setdefaultformat - set format for columns with unknown formatting
*
* $data->setcolumnformat(4, '%.3f');
* setcolumnformat - set format for column (apply only to number fields)
*
**/

统计总行数与按列名输出。
 $data->sheets[0]['numrows'] - count rows
 $data->sheets[0]['numcols'] - count columns
 $data->sheets[0]['cells'][$i][$j] - data from $i-row $j-column

 $data->sheets[0]['cellsinfo'][$i][$j] - extended info about cell
   
    $data->sheets[0]['cellsinfo'][$i][$j]['type'] = "date" | "number" | "unknown"
        if 'type' == "unknown" - use 'raw' value, because  cell contain value with format '0.00';
    $data->sheets[0]['cellsinfo'][$i][$j]['raw'] = value if cell without format
    $data->sheets[0]['cellsinfo'][$i][$j]['colspan']
    $data->sheets[0]['cellsinfo'][$i][$j]['rowspan']

提供一款实例的php mysql 数据库备份程序,很好方法的可以对你的数据库进行在线实时备份,这样可以保存数据库的安全,并且他是以.sql文件保存在bakdata目录还日期生成的数据库备份文件的。
 代码如下 复制代码

?>
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link type="text/css教程" rel="stylesheet" href="common/control.css">
<script type="text/网页特效" language="javascript" src="common/admin.otable.js"></script>
<script type="text/javascript" language="javascript" src="common/include.func.js"></script>
<title>数据管理</title>
<style type="text/css">
span {padding-left:8px;}
</style>
</head>

<body class="contentbody">
<div class="maindiv">
<span class="ctitle">esweb系统数据管理</span>
<ul class="cmenu">
 <li><a href="sql_backup.php">数据备份</a></li>
    <li><a href="sql_restore.php">数据还原</a></li>
 <li><a href="sql_optimize.php">数据优化</a>
</ul>

<div class="concontent">
<?php

/*--------------界面--------------*/if(!$_post['act']){/*----------------------*/
$msgs[]="服务器备份目录为$backup";
$msgs[]="对于较大的数据表,强烈建议使用分卷备份";
$msgs[]="只有选择备份到服务器,才能使用分卷备份功能";
//show_msg($msgs);
?>
<div class="thead"><span class="left"><img src="images/icon2/into.gif" align="absmiddle" /> 如果需要备份、还原或者优化<font color="red"> 大量的数据 </font>, 推荐使用"<a href="http://www.phome.net/ebak2010/" target="_blank">帝国备份王2010</a>"</span> <span class="right"></span></div>
<form name="myform" method="post" action="sql_backup.php">
<table cellpadding="" cellspacing="0" border="0" width="100%" class="ctable" id="otable" align="center">
<tr>
 <th colspan="2">esweb系统数据备份</th>
</tr>
<tr>
 <td align="right" width="250">选择备份方式</td>
    <td><input type="radio" name="bfzl" value="quanbubiao" checked="checked" />备份全部数据
    <input type="radio" name="bfzl" value="danbiao" />备份单张表数据 
    <select name="tablename"><option value="">请选择</option>
    <?php
    $d->query("show table status from $mysqldb");
    while($d->nextrecord()){
    echo "<option value='".$d->f('name')."'>".$d->f('name')."</option>";}
    ?>
    </select></td>
</tr>
<tr>
 <td align="right">选择目标位置</td>
    <td><input type="radio" name="weizhi" value="server" checked="checked" />备份到服务器
    <input type="radio" name="weizhi" value="localpc" />备份到本地</td>
</tr>

<tr>
 <td align="right">使用分卷备份</td>
    <td><input type="checkbox" name="fenjuan" value="yes" checked="checked" />
    分卷备份 <input name="filesize" type="text" value="1260" size="10" class="text2" /> k <span>(只有选择备份到服务器,才能使用分卷备份功能)</span></td>
</tr>
<tr>
 <td align="right">程序说明</td>
    <td>1.对于较大的数据表,强烈建议使用分卷备份.
    <br>2.只有选择备份到服务器,才能使用分卷备份功能.
    </td>
</tr>
<tr>
 <td align="center" colspan="2"><input type="submit" id="act" name="act" value="备 份" class="button" /> <input type="reset" value="重 置" class="button" /></td>
</tr>
</table>
</form>
<?php /*-------------界面结束-------------*/}/*---------------------------------*/
/*----*/else{/*--------------主程序-----------------------------------------*/
if($_post['weizhi']=="localpc"&&$_post['fenjuan']=='yes')
{$msgs[]="只有选择备份到服务器,才能使用分卷备份功能";
show_msg($msgs); pageend();}
if($_post['fenjuan']=="yes"&&!$_post['filesize'])
{$msgs[]="您选择了分卷备份功能,但未填写分卷文件大小";
show_msg($msgs); pageend();}
if($_post['weizhi']=="server"&&!writeable($backup))
{$msgs[]="备份文件存放目录'$backup'不可写,请修改目录属性";
show_msg($msgs); pageend();}

/*----------备份全部表-------------*/if($_post['bfzl']=="quanbubiao"){/*----*/
/*----不分卷*/if(!$_post['fenjuan']){/*--------------------------------*/
if(!$tables=$d->query("show table status from $mysqldb"))
{$msgs[]="读数据库结构错误"; show_msg($msgs); pageend();}
$sql="";
while($d->nextrecord($tables))
{
$table=$d->f("name");
$sql.=make_header($table);
$d->query("select * from $table");
$num_fields=$d->nf();
while($d->nextrecord())
{$sql.=make_record($table,$num_fields);}
}
$filename=date("ymd",time())."_all.sql";
if($_post['weizhi']=="localpc") down_file($sql,$filename);
elseif($_post['weizhi']=="server")
{if(write_file($sql,$filename))
$msgs[]="全部数据表数据备份完成,生成备份文件'$backup/$filename'";
else $msgs[]="备份全部数据表失败";
show_msg($msgs);
pageend();
}
/*-----------------不要卷结束*/}/*-----------------------*/
/*-----------------分卷*/else{/*-------------------------*/
if(!$_post['filesize'])
{$msgs[]="请填写备份文件分卷大小"; show_msg($msgs);pageend();}
if(!$tables=$d->query("show table status from $mysqldb"))
{$msgs[]="读数据库结构错误"; show_msg($msgs); pageend();}
$sql=""; $p=1;
$filename=date("ymd",time())."_all";
while($d->nextrecord($tables))
{
$table=$d->f("name");
$sql.=make_header($table);
$d->query("select * from $table");
$num_fields=$d->nf();
while($d->nextrecord())
{$sql.=make_record($table,$num_fields);
if(strlen($sql)>=$_post['filesize']*1000){
     $filename.=("_v".$p.".sql");
     if(write_file($sql,$filename))
     $msgs[]="全部数据表-卷-".$p."-数据备份完成,生成备份文件'$backup/$filename'";
     else $msgs[]="备份表-".$_post['tablename']."-失败";
     $p++;
     $filename=date("ymd",time())."_all";
     $sql="";}
}
}
if($sql!=""){$filename.=("_v".$p.".sql"); 
if(write_file($sql,$filename))
$msgs[]="全部数据表-卷-".$p."-数据备份完成,生成备份文件'$backup/$filename'";}
show_msg($msgs);
/*---------------------分卷结束*/}/*--------------------------------------*/
/*--------备份全部表结束*/}/*---------------------------------------------*/

/*--------备份单表------*/elseif($_post['bfzl']=="danbiao"){/*------------*/
if(!$_post['tablename'])
{$msgs[]="请选择要备份的数据表"; show_msg($msgs); pageend();}
/*--------不分卷*/if(!$_post['fenjuan']){/*-------------------------------*/
$sql=make_header($_post['tablename']);
$d->query("select * from ".$_post['tablename']);
$num_fields=$d->nf();
while($d->nextrecord())
{$sql.=make_record($_post['tablename'],$num_fields);}
$filename=date("ymd",time())."_".$_post['tablename'].".sql";
if($_post['weizhi']=="localpc") down_file($sql,$filename);
elseif($_post['weizhi']=="server")
{if(write_file($sql,$filename))
$msgs[]="表-".$_post['tablename']."-数据备份完成,生成备份文件'$backup/$filename'";
else $msgs[]="备份表-".$_post['tablename']."-失败";
show_msg($msgs);
pageend();
}
/*----------------不要卷结束*/}/*------------------------------------*/
/*----------------分卷*/else{/*--------------------------------------*/
if(!$_post['filesize'])
{$msgs[]="请填写备份文件分卷大小"; show_msg($msgs);pageend();}
$sql=make_header($_post['tablename']); $p=1;
$filename=date("ymd",time())."_".$_post['tablename'];
$d->query("select * from ".$_post['tablename']);
$num_fields=$d->nf();
while ($d->nextrecord())
{
    $sql.=make_record($_post['tablename'],$num_fields);
      if(strlen($sql)>=$_post['filesize']*1000){
     $filename.=("_v".$p.".sql");
     if(write_file($sql,$filename))
     $msgs[]="表-".$_post['tablename']."-卷-".$p."-数据备份完成,生成备份文件'$backup/$filename'";
     else $msgs[]="备份表-".$_post['tablename']."-失败";
     $p++;
     $filename=date("ymd",time())."_".$_post['tablename'];
     $sql="";}
}
if($sql!=""){$filename.=("_v".$p.".sql"); 
if(write_file($sql,$filename))
$msgs[]="表-".$_post['tablename']."-卷-".$p."-数据备份完成,生成备份文件'$backup/$filename'";}
show_msg($msgs);
/*----------分卷结束*/}/*--------------------------------------------------*/
/*----------备份单表结束*/}/*----------------------------------------------*/

/*---*/}/*-------------主程序结束------------------------------------------*/

function write_file($sql,$filename)
{
$re=true;
global $backup;
if(!@$fp=fopen($backup."/".$filename,"w+")) {$re=false; echo "failed to open target file";}
if(!@fwrite($fp,$sql)) {$re=false; echo "failed to write file";}
if(!@fclose($fp)) {$re=false; echo "failed to close target file";}
return $re;
}

function down_file($sql,$filename)
{
ob_end_clean();
header("content-encoding: none");
header("content-type: ".(strpos($_server['http_user_agent'], 'msie') ? 'application/octetstream' : 'application/octet-stream'));
  
header("content-disposition: ".(strpos($_server['http_user_agent'], 'msie') ? 'inline; ' : 'attachment; ')."filename=".$filename);
  
header("content-length: ".strlen($sql));
header("pragma: no-cache");
  
header("expires: 0");
echo $sql;
$e=ob_get_contents();
ob_end_clean();
}

function writeable($dir)
{

if(!is_dir($dir)) {
@mkdir($dir, 0777);
}

if(is_dir($dir))
{

if($fp = @fopen("$dir/test.test", 'w'))
    {
@fclose($fp);
@unlink("$dir/test.test");
$writeable = 1;
}
else {
$writeable = 0;
}

}

return $writeable;

}

function make_header($table)
{global $d;
$sql="drop table if exists ".$table." ";
$d->query("show create table ".$table);
$d->nextrecord();
$tmp=preg_replace("/ /","",$d->f("create table"));
$sql.=$tmp." ";
return $sql;
}

function make_record($table,$num_fields)
{global $d;
$comma="";
$sql .= "insert into ".$table." values(";
for($i = 0; $i < $num_fields; $i++)
{$sql .= ($comma."'".mysql_escape_string($d->record[$i])."'"); $comma = ",";}
$sql .= ") ";
return $sql;
}

function show_msg($msgs)
{
$title="提示:";
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>";
echo "<tr><td>".$title."</td></tr>";
echo "<tr><td><br><ul>";
while (list($k,$v)=each($msgs))
{
echo "<li>".$v."</li>";
}
echo "</ul></td></tr></table>";
}

function pageend()
{
exit();
}
?>
</div><br /><br />

</div>

</div>
</body>
</html>

class db{

var $linkid;
var $sqlid;
var $record;

function db($host="",$username="",$password="",$database="")
{
if(!$this->linkid)    @$this->linkid = mysql_connect($host, $username, $password) or die("连接服务器失败.");
@mysql_select_db($database,$this->linkid) or die("无法打开数据库");
return $this->linkid;}

function query($sql)
{if($this->sqlid=mysql_query($sql,$this->linkid)) return $this->sqlid;
else {
    $this->err_report($sql,mysql_error);
return false;}
}

function nr($sql_id="")
{if(!$sql_id) $sql_id=$this->sqlid;
return mysql_num_rows($sql_id);}

function nf($sql_id="")
{if(!$sql_id) $sql_id=$this->sqlid;
return mysql_num_fields($sql_id);}

function nextrecord($sql_id="")
{if(!$sql_id) $sql_id=$this->sqlid;
if($this->record=mysql_fetch_array($sql_id))    return $this->record;
else return false;
}

function f($name)
{
if($this->record[$name]) return $this->record[$name];
else return false;
}

function close() {mysql_close($this->linkid);}

function lock($tblname,$op="write")
{if(mysql_query("lock tables ".$tblname." ".$op)) return true; else return false;}

function unlock()
{if(mysql_query("unlock tables")) return true; else return false;}

function ar() {
      return @mysql_affected_rows($this->linkid);
    }

function i_id() {
    return mysql_insert_id();
}

function err_report($sql,$err)
{
echo "mysql查询错误<br>";
echo "查询语句:".$sql."<br>";
echo "错误信息:".$err;
}
/****************************************类结束***************************/


global $mysqlhost, $mysqluser, $mysqlpwd, $mysqldb, $backup;
$mysqlhost = $mydbhost;          //host name
$mysqluser = $mydbuser;          //login name
$mysqlpwd = $mydbpw;             //password
$mysqldb = $mydbname;            //name of database

$d=new db($mysqlhost,$mysqluser,$mysqlpwd,$mysqldb);
$d->query("set names 'utf8'");

 代码如下 复制代码

/* database config */

$db_host  = 'localhost';
$db_user  = 'root';
$db_pass  = '123';
$db_database = 'todo';

/* end config */


$link = @mysql教程_connect($db_host,$db_user,$db_pass) or die('unable to establish a db connection');

mysql_set_charset('utf8');
mysql_select_db($db_database,$link);

//数据库连接代码二

 代码如下 复制代码

error_reporting(e_all ^ e_notice);

$db_host = '';
$db_user = '';
$db_pass = '';
$db_name = '';

@$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);

if (mysqli_connect_errno()) {
 die('<h1>could not connect to the database</h1><h2>please try again after a few moments.</h2>');
}

$mysqli->set_charset("utf8");

[!--infotagslink--]

相关文章

  • PHP 数据库缓存Memcache操作类

    操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • php简单数据操作的实例

    最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • Antd-vue Table组件添加Click事件,实现点击某行数据教程

    这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
  • 详解如何清理redis集群的所有数据

    这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
  • Intellij IDEA连接Navicat数据库的方法

    这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
  • 在数据库里将毫秒转换成date格式的方法

    在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
  • vue 获取到数据但却渲染不到页面上的解决方法

    这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 如何解决局域网内mysql数据库连接慢

    通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
  • mybatis-plus 处理大数据插入太慢的解决

    这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • MySQL快速复制数据库数据表的方法

    某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
  • mysqldump命令导入导出数据库方法与实例汇总

    mysqldump命令的用法1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword...2015-10-21
  • Mysql数据库错误代码中文详细说明

    1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库...2013-09-23
  • postgresql数据添加两个字段联合唯一的操作

    这篇文章主要介绍了postgresql数据添加两个字段联合唯一的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-04
  • c#异步读取数据库与异步更新ui的代码实现

    这篇文章主要介绍了c#从数据库里取得数据并异步更新ui的方法,大家参考使用吧...2020-06-25
  • Vue生命周期activated之返回上一页不重新请求数据操作

    这篇文章主要介绍了Vue生命周期activated之返回上一页不重新请求数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-26