php資料庫對象
你做好程序以後,把資料庫導出成sql文件
1、連接資料庫
2、讀取這個sql文件里的sql語句,並執行
3、生成一個資料庫連接參數的php文件
<?php
$con=mysql_connect("localhost","peter","abc123");
if(!$con)
{
die('Couldnotconnect:'.mysql_error());
}
if(mysql_query("CREATEDATABASEmy_db",$con))
{
echo"Databasecreated";
}
else
{
echo"Errorcreatingdatabase:".mysql_error();
}
mysql_close($con);
?>
<?php
classReadSql{
//資料庫連接
protected$connect=null;
//資料庫對象
protected$db=null;
//sql文件
public$sqlFile="";
//sql語句集
public$sqlArr=array();
publicfunction__construct($host,$user,$pw,$db_name){
$host=empty($host)?C("DB_HOST"):$host;
$user=empty($user)?C("DB_USER"):$user;
$pw=empty($pw)?C("DB_PWD"):$pw;
$db_name=empty($db_name)?C("DB_NAME"):$db_name;
//連接資料庫
$this->connect=mysql_connect($host,$user,$pw)ordie("Couldnotconnect:".mysql_error());
$this->db=mysql_select_db($db_name,$this->connect)ordie("Yoncannotselectthetable:".mysql_error());
}
//導入sql文件
publicfunctionImport($url){
$this->sqlFile=file_get_contents($url);
if(!$this->sqlFile){
exit("打開文件錯誤");
}else{
$this->GetSqlArr();
if($this->Runsql()){
returntrue;
}
}
}
//獲取sql語句數組
publicfunctionGetSqlArr(){
//去除注釋
$str=$this->sqlFile;
$str=preg_replace('/--.*/i','',$str);
$str=preg_replace('//*.**/(;)?/i','',$str);
//去除空格創建數組
$str=explode("; ",$str);
foreach($stras$v){
$v=trim($v);
if(empty($v)){
continue;
}else{
$this->sqlArr[]=$v;
}
}
}
//執行sql文件
publicfunctionRunSql(){
foreach($this->sqlArras$k=>$v){
if(!mysql_query($v)){
exit("sql語句錯誤:第".$k."行".mysql_error());
}
}
returntrue;
}
}
//範例:
header("Content-type:text/html;charset=utf-8");
$sql=newReadSql("localhost","root","","log_db");
$rst=$sql->Import("./log_db.sql");
if($rst){
echo"Success!";
}
?>
2. pdo是什麼意思
pdo是什麼意思介紹如下:
相關信息:
PDO 提供了一個數據訪問抽象層,這意味著,不管使用哪種資料庫,都可以用相同的函數(方法)來查詢和獲取數據。 PDO不提供資料庫抽象層;它不會重寫 SQL,也不會模擬缺失的特性。如果需要的話,應該使用一個成熟的抽象層。
從 PHP 5.1開始附帶了 PDO,在 PHP 5.0 中是作為一個 PECL 擴展使用。 PDO 需要PHP 5核心的新OO特性,因此不能在較早版本的 PHP 上運行。
3. php怎麼從資料庫取值
$urls = "192.168.0.128";//你的主機地址(一般是localhost)
$user = "root";//資料庫用戶名
$password = "111111";//資料庫密碼
$con = mysqli_connect($urls,$user,$password);//mysql資料庫連接
mysqli_select_db($con,"le_test");//第二個參數為資料庫名稱
mysqli_query($con,"select click_num from fstk__click where id>0");//查詢所有click_num
mysqli_close($con);//關閉連接
4. php連接資料庫關於PDO類和PDOStatement類的區別是什麼
這代表兩個不同的對象,看一下PDO::query()的定義:
public PDOStatement PDO::query ( string $statement )
可以知道query返回的結果是PDOStatement實例對象,那麼你至少可以知道PDOStatement可以用來操作結果集了。
看一下PDOStatement類有哪些方法:
http://php.net/manual/zh/class.pdostatement.php
發現有fetch,fetchAll等熟悉的功能,不是么?
然後再來看看PDO::prepare()方法
public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )
它也是返回的PDOStatement,按照手冊的說法,PDOStatement代表一條預處理語句,並在該語句被執行後代表一個相關的結果集。
也就是說,如果你通過PDO::query()直接查詢,那麼返回的PDOStatement就表示一個結果集。
如果你通過PDO::prepare()查詢,實際上並未執行sql,而是得到一個預處理語句(PDOStatement),然後你調用PDOStatement::execute()方法真正執行。