Mysql连接数据库的操作
| 1 2 3 4 5 | $link=mysql_connect("ip","數(shù)據(jù)庫名",密碼); mysql_select_db("庫名",$link); mysql_query("set?names?utf8"); $sql?=?"select?id,name?from?brand"; $arr?=?mysql_query($sql);?//執(zhí)行sql語句 |
PDO連接數(shù)據(jù)庫方法:
什么是PDO?
PDO是PHP?data?Object?提供了PHP操作多種數(shù)據(jù)庫的統(tǒng)一的接口
PDO的特點?
編碼的一致行:由于PHP可用的各種數(shù)據(jù)庫擴展是由不同發(fā)行者編寫的,所以盡管所有擴展都提供了基本相同的特性,卻不滿足編碼的一致性。PDO消除了這種不一致,提供可用于各種數(shù)據(jù)庫的單一接口。
靈活性:因為PDO在運行時加載必需的數(shù)據(jù)庫驅(qū)動程序,所以不需要在每次使用不同數(shù)據(jù)庫時重新配置和重新編譯PHP。例如,如果數(shù)據(jù)庫需要從Oracle切換到MySQL,只要加載PDO_MYSQL驅(qū)動程序就可以了。
面向?qū)ο筇匦?#xff1a;PDO利用PHP5的面向?qū)ο筇匦?#xff0c;可以獲得更強大、更高效的數(shù)據(jù)庫通信。
高性能:PDO用C編寫,編譯為PHP,與用PHP編寫的其他解決方案相比,雖然其他都相同,但提供了更高的性能。
PDO的配置
1)修改PHP.ini?,?添加MYSQL的PDO擴展
[PHP_PDO_MYSQL]
extension=php_pdo_mysql.dll
2)擴展目錄中要有相應(yīng)的擴展文件
3)PDO連接不同的數(shù)據(jù)庫,要有不同的數(shù)據(jù)庫驅(qū)動文件即我們所加入配置文件的擴展
4)重新啟動APACHE,使配置生效
數(shù)據(jù)源配置的格式
數(shù)據(jù)源格式:
1)$dsn?=?'mysql:dbname=testdb;host=127.0.0.1';
?$user?=?'dbuser';
?$password?=?'dbpass';
2)聲明對象:
???$dbh?=?new?PDO($dsn,?$user,?$password);
查詢的方法,查手冊
//執(zhí)行添加
//$insertsql="insert?into?student(name,age)?values('zhangsan',20)";
//if($pdo->exec($insertsql)){
//echo?"添加成功";
//}
?
//總結(jié):exec主要用于執(zhí)行沒有返回結(jié)果集的操作,比如insert?delete?update,返回的是影響的記錄條數(shù)
?
//執(zhí)行查詢
$sql="select?*?from?student";
$result=$pdo->query($sql);
//query()執(zhí)行查詢語句,返回結(jié)果集對象
//用循環(huán)利用fetch方法逐個的取出記錄,返回的是關(guān)聯(lián)數(shù)組和索引數(shù)組兩種數(shù)組,和mysql_fetch_array()的返回結(jié)果一致
while($rows=$result->fetch()){
//print_r($rows);
}
//fetchAll()方法可以一次取出結(jié)果集中所有的數(shù)組,以二維數(shù)組的形式返回
//$data=$result->fetchAll();
//print_r($data);
//總結(jié)查詢方式一
//PDO::query($sql),利用PDO來執(zhí)行sql語句
//PDOstatement::fetch()或者PDOstatement::fetch()來取結(jié)果集的數(shù)據(jù)
//查詢方式二
//PDO::prepare($sql),利用PDO來預(yù)執(zhí)行sql語句
//PDOstatement::execute()?執(zhí)行預(yù)處理
//PDOstatement::fetch()或者PDOstatement::fetch()來取結(jié)果集的數(shù)據(jù)
$res=$pdo->prepare($sql);//預(yù)處理
if($res->execute()){//執(zhí)行預(yù)處理
$array=$res->fetchAll();
}
print_r($array);
?
//總結(jié)三
//PDO::lastInsertId():是返回上次插入操作,主鍵列類型是自增的最后的自增ID。
????//PDOStatement::rowCount()?:主要是用于PDO::query()和PDO::prepare()進行DELETE、INSERT、UPDATE操作影響的結(jié)果集,對PDO::exec()方法和SELECT操作無效。
TP支持PDO
return?array(??
‘DB_TYPE’=>?‘pdo’,??
//?注意DSN的配置針對不同的數(shù)據(jù)庫有所區(qū)別?請參考PHP手冊PDO類庫部分??
‘DB_DSN’=>?‘mysql:host=localhost;dbname=think’,??
‘DB_USER’=>’root’,??
‘DB_PWD’=>”,??
‘DB_PREFIX’=>’think_’,??
//?其他項目配置參數(shù)………??
????);?
? ? ? 本文轉(zhuǎn)自噼里啪啦啦 51CTO博客,原文鏈接:http://blog.51cto.com/pilipala/1670591,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的Mysql连接数据库的操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Rspamd 将收到的spam/ham转
- 下一篇: sysbench性能压测以及mysql性