PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。
像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。
不同的扩展提供基本相近的操作方法,不同的是可能具备一些新特性,以及操作性能可能会有所不同。
mysql扩展进行数据库连接的方法:
$link = mysql_connect(‘mysql_host‘, ‘mysql_user‘, ‘mysql_password‘);例子:<?php $link = mysql_connect(‘127.0.0.1‘, ‘code1‘, ‘‘) or die(‘数据库连接失败‘); mysql_select_db(‘db_name‘); mysql_query("set names ‘utf8‘"); $result = mysql_query(‘select * from user limit 1‘); $row = mysql_fetch_assoc($result); print_r($row);
mysqli扩展:
$link = mysql_connect(‘mysql_host‘, ‘mysql_user‘, ‘mysql_password‘); 例子: <?php $link = mysqli_connect(‘127.0.0.1‘, ‘user‘, ‘pwd‘ ) or die( ‘连接失败‘ ); mysqli_select_db( $link, ‘db_name‘); mysqli_query( $link, "set names ‘utf8‘ "); $result = mysqli_query( $link, ‘select * from user limit 1‘); $row = mysqli_fetch_row($result); print_r($row);
PDO扩展:
$dsn = ‘mysql:dbname=testdb;host=127.0.0.1‘; $user = ‘dbuser‘; $password = ‘dbpass‘; $dbh = new PDO($dsn, $user, $password); 例子: <?php $dsn = ‘mysql:dbname=db_name;host=127.0.0.1‘; $user = ‘root‘; $password = ‘‘; $dbh = new PDO($dsn, $user, $password) or die(‘连接数据库失败‘); $dbh->query( "set names ‘utf8‘ " ); $result = $dbh->query(‘select * from user limit 1‘); $row =$result->fetch(PDO::FETCH_ASSOC); //设置输出数组形式 print_r($row); /*PDO数组样式: *PDO::FETCH_ASSOC-->关联数组mysql_fetch_assoc($result) *PDO::FETCH_NUM-->数字索引数组mysql_fetch_row($result) *PDO::FETCH_BOTH-->两者数组形式都有,默认。mysql_fetch_array() *PDO::FETCH_OBJ-->按照对象的形式$arr=mysql_fetch_object($result) mysql_fetch_object()得到对象结果集,调用和对象调用属性一样:$arr->name;//调用改对象中的name属性 *PDO::FETCH_BOUND-->以布尔值的形式返回 *PDO::FETCH_LAZY-->以关联数组,数字数组,对象3钟形式返回结果 */
时间: 2024-12-28 16:34:46