$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鏈接數據庫方法:php
什麼是PDO?mysql
PDO是PHP data Object 提供了PHP操做多種數據庫的統一的接口sql
PDO的特色?數據庫
編碼的一致行:因爲PHP可用的各類數據庫擴展是由不一樣發行者編寫的,因此儘管全部擴展都提供了基本相同的特性,卻不知足編碼的一致性。PDO消除了這種不一致,提供可用於各類數據庫的單一接口。數組
靈活性:由於PDO在運行時加載必需的數據庫驅動程序,因此不須要在每次使用不一樣數據庫時從新配置和從新編譯PHP。例如,若是數據庫須要從Oracle切換到MySQL,只要加載PDO_MYSQL驅動程序就能夠了。ide
面向對象特性:PDO利用PHP5的面向對象特性,能夠得到更強大、更高效的數據庫通訊。性能
高性能:PDO用C編寫,編譯爲PHP,與用PHP編寫的其餘解決方案相比,雖然其餘都相同,但提供了更高的性能。fetch
PDO的配置編碼
1)修改PHP.ini , 添加MYSQL的PDO擴展spa
[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_’,
// 其餘項目配置參數………
);