標籤:串連資料庫 解決方案 sql語句 oracle object
$link=mysql_connect("ip","資料庫名",密碼);mysql_select_db("庫名",$link);mysql_query("set names utf8");$sql = "select id,name from brand";$arr = mysql_query($sql); //執行sql語句
PDO串連資料庫方法:
什麼是PDO?
PDO是PHP data Object 提供了PHP操作多種資料庫的統一的介面
PDO的特點?
編碼的一致行:由於PHP可用的各種資料庫擴充是由不同發行者編寫的,所以儘管所有擴充都提供了基本相同的特性,卻不滿足編碼的一致性。PDO消除了這種不一致,提供可用於各種資料庫的單一介面。
靈活性:因為PDO在運行時載入必需的資料庫驅動程式,所以不需要在每次使用不同資料庫時重新設定和重新編譯PHP。例如,如果資料庫需要從Oracle切換到MySQL,只要載入PDO_MYSQL驅動程式就可以了。
物件導向特性:PDO利用PHP5的物件導向特性,可以獲得更強大、更高效的資料庫通訊。
高效能:PDO用C編寫,編譯為PHP,與用PHP編寫的其他解決方案相比,雖然其他都相同,但提供了更高的效能。
PDO的配置
1)修改PHP.ini , 添加MYSQL的PDO擴充
[PHP_PDO_MYSQL]
extension=php_pdo_mysql.dll
2)擴充目錄中要有相應的擴充檔案
3)PDO串連不同的資料庫,要有不同的資料庫驅動檔案即我們所加入配置文件的擴充
4)重新啟動APACHE,使配置生效
資料來源配置的格式
資料來源格式:
1)$dsn = ‘mysql:dbname=testdb;host=127.0.0.1‘;
$user = ‘dbuser‘;
$password = ‘dbpass‘;
2)聲明對象:
$dbh = new PDO($dsn, $user, $password);
查詢的方法,查手冊
//執行添加
//$insertsql="insert into student(name,age) values(‘zhangsan‘,20)";
//if($pdo->exec($insertsql)){
//echo "添加成功";
//}
//總結:exec主要用於執行沒有返回結果集的操作,比如insert delete update,返回的是影響的記錄條數
//執行查詢
$sql="select * from student";
$result=$pdo->query($sql);
//query()執行查詢語句,返回結果集對象
//用迴圈利用fetch方法逐個的取出記錄,返回的是關聯陣列和索引數組兩種數組,和mysql_fetch_array()的返回結果一致
while($rows=$result->fetch()){
//print_r($rows);
}
//fetchAll()方法可以一次取出結果集中所有的數組,以二維數組的形式返回
//$data=$result->fetchAll();
//print_r($data);
//總結查詢方式一
//PDO::query($sql),利用PDO來執行sql語句
//PDOstatement::fetch()或者PDOstatement::fetch()來取結果集的資料
//查詢方式二
//PDO::prepare($sql),利用PDO來預執行sql語句
//PDOstatement::execute() 執行預先處理
//PDOstatement::fetch()或者PDOstatement::fetch()來取結果集的資料
$res=$pdo->prepare($sql);//預先處理
if($res->execute()){//執行預先處理
$array=$res->fetchAll();
}
print_r($array);
//總結三
//PDO::lastInsertId():是返回上次插入操作,主鍵列類型是自增的最後的自增ID。
//PDOStatement::rowCount() :主要是用於PDO::query()和PDO::prepare()進行DELETE、INSERT、UPDATE操作影響的結果集,對PDO::exec()方法和SELECT操作無效。
TP支援PDO
return array(
‘DB_TYPE’=> ‘pdo’,
// 注意DSN的配置針對不同的資料庫有所區別 請參考PHP手冊PDO類庫部分
‘DB_DSN’=> ‘mysql:host=localhost;dbname=think’,
‘DB_USER’=>’root’,
‘DB_PWD’=>”,
‘DB_PREFIX’=>’think_’,
// 其他項目配置參數………
);
Mysql串連資料庫的操作