Mysql连接数据库的操作
| 1 2 3 4 5 | $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_’,??
//?其他項目配置參數………??
????);?
? ? ? 本文轉自噼里啪啦啦 51CTO博客,原文鏈接:http://blog.51cto.com/pilipala/1670591,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的Mysql连接数据库的操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Rspamd 将收到的spam/ham转
- 下一篇: 搜索条插件源码