这是连接mysql数据库的简单代码:
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比红河哈尼网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式红河哈尼网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖红河哈尼地区。费用合理售后完善,十载实体公司更值得信赖。
$conn=new PDO("mysql:host=localhost;dbname=webdata","user","pwd");
$sth=$conn-prepare("select * from books");
$sth-execute();
while($res=$sth-fetch(PDO::FETCH_ASSOC))
{
echo("div".$res["id"].":".$res["title"]."--".$res["author"]);
}
pdo扩展为php访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。
在一些php管理系统需要开启pdo和pdo_mysql扩展,方法很简单:
1、找到php.ini文件
2、打开后,搜索
extension=php_pdo.dll
和
extension=php_pdo_mysql.dll
,去掉前面“;”的注释。
最终这两行配置内容如下:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
重新启动apache或者iis后,在phpinfo函数中查看,是否开启。
这个在配置里面是可以设置的,一般是与连接数据库设置一起配置:
//数据库配置信息
'DB_TYPE' = 'mysql', // 数据库类型
'DB_HOST' = 'localhost', // 服务器地址
'DB_NAME' = 'thinkphp', // 数据库名
'DB_USER' = 'root', // 用户名
'DB_PWD' = '123456', // 密码
'DB_PORT' = 3306, // 端口
'DB_PREFIX' = 'think_', // 数据库表前缀
'DB_CHARSET'= 'utf8', // 字符集
'DB_DEBUG' = TRUE, // 数据库调试模式 开启后可以记录SQL日志
其中数据库类型可以设置为:mysqli
更多类型还有:
DB_TYPE设置
支持的 数据库类型
mysql或mysqli mysql
pgsql pgsql
sqlite sqlite
mssql 或sqlsrv sqlserver
oracle oracle
ibase ibase
mongo mongo
PDO PDO支持的所有数据库
Mysqli是php5之后才有的功能,没有开启扩展的朋友可以打开您的php.ini的配置文件。
查找下面的语句:;extension=php_mysqli.dll将其修改为:extension=php_mysqli.dll即可。
相对于mysql有很多新的特性和优势
(1)支持本地绑定、准备(prepare)等语法
(2)执行sql语句的错误代码
(3)同时执行多个sql
(4)另外提供了面向对象的调用接口的方法。
下面一一用php实例进行mysqli数据库连接!
使用方法一:使用传统的面向过程的方法
php代码如下:
?php
$connect = mysqli_connect('localhost','root','','volunteer') or die('Unale to connect');
$sql = "select * from vol_msg";
$result = mysqli_query($connect,$sql);
while($row = mysqli_fetch_row($result)){
echo $row[0];
}
?
使用方法二:使用面向对象的方法调用接口(推荐使用)
看php代码如下:
复制代码 代码如下:
?php
//创建对象并打开连接,最后一个参数是选择的数据库名称
$mysqli = new mysqli('localhost','root','','volunteer');
//检查连接是否成功
if (mysqli_connect_errno()){
//注意mysqli_connect_error()新特性
die('Unable to connect!'). mysqli_connect_error();
}
$sql = "select * from vol_msg";
//执行sql语句,完全面向对象的
$result = $mysqli-query($sql);
while($row = $result-fetch_array()){
echo $row[0];
}
?
以上两个php实例运行的结果完全相同,可以清楚的看到使用mysqli类对象构建数据库连接的优势!
插入和修改记录我就不用讲了,只要更改一下sql语句就行,下一篇我会讲prepare接口特性!
不需要进行数据库操作,不需要安装mysql。 php的mysql扩展是php用于操作mysql数据库的函数库,如果需要进行数据库操作,不仅要有函数库,还需要安装数据库。
1.面向对象的使用方式
$db
=
new
mysqli('localhost',
'root',
'123456',
'dbname');
如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库
$db-select_db('dbname');
$query
=
"SELECT
*
FROM
user
WHERE
uid=4";
$result
=
$db-query($query);
$result_num
=
$result-num_rows;
$row
=
$result-fetch_assoc();
//返回一个关联数组,可以通过$row['uid']的方式取得值
$row
=
$result-fetch_row();
//返回一个列举数组,可以通过$row[0]的方式取得值
$row
=
$result-fetch_array();
//返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值
$row
=
$result-fetch_object();
//返回一个对象,可以通过$row-uid的方式取得值
$result-free();
//释放结果集
$db-close();
//关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接
当进行INSERT、UPDATE、DELETE操作时,使用$db-affected_rows查看影响行数
2.面向过程的使用方式
$db
=
mysqli_connect('localhost',
'root',
'123456',
'dbname');
如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库
mysqli_select_db($db,
'dbname');
查询数据库
$query
=
"SELECT
*
FROM
user
WHERE
uid=4";
$result
=
mysqli_query($db,
$query);
$result_num
=
mysqli_num_rows($result);
返回一行结果
$row
=
mysqli_fetch_assoc($result);
//返回一个关联数组,可以通过$row['uid']的方式取得值
$row
=
mysqli_fetch_row($result);
//返回一个列举数组,可以通过$row[0]的方式取得值
$row
=
mysqli_fetch_array($result);
//返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值
$row
=
mysqli_fetch_object($result);
//返回一个对象,可以通过$row-uid的方式取得值
断开数据库连接
mysqli_free_result($result);
//释放结果集
mysqli_close($db);
//关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接
当进行INSERT、UPDATE、DELETE操作时,使用mysqli_affected_rows()查看影响行数