本文目录一览:
- 1、mysqli面向对象和面向过程有什么区别
- 2、请问PHP怎样用面向对象方式连接MySQL数据库?
- 3、PHP中为什么mysqli需要实例化,而mysql不需要?
- 4、PHP使用mysqli扩展连接MySQL数据库
mysqli面向对象和面向过程有什么区别
可以这么讲。因为很多PHP程序员不习惯面向对象编程,所以mysqli类库提供了这个方法供他们使用。这也是方便一些使用mysql扩展的用户快速迁移到mysqli。实际上,mysqli_query()内部是对面向对象调用过程的封装。
我个人觉得还是面向对象的写法比较简洁,而mysqli_query()需要多传递一个参数。
请问PHP怎样用面向对象方式连接MySQL数据库?
?php
$servername = "localhost"; //你的连接地址,可以是ip
$username = "username"; //你的用户名
$password = "password"; //你的密码
$dbname = "myDB"; //你要连接数据库的名字
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn-connect_error) {
die("连接失败: " . $conn-connect_error);
}
echo "连接成功";
学习可以参考:
PHP中为什么mysqli需要实例化,而mysql不需要?
mysqli也不一定需要实例化,之所以你要实例化是因为你是要以面向对象的方式来开发这个程序,但是你要是用面向过程的方式来写也是可以的,百度里面有例子你可以看一下
一、面向对象
?php
$mysqli =new mysqli("localhost", "my_user", "my_password", "world"); //实例化对象
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf("Host information: %s\n", $mysqli-host_info);
/* close connection */
$mysqli-close();
?
二、面向过程
?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */
if (!$link) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf("Host information: %s\n", mysqli_get_host_info($link));
/* close connection */
mysqli_close($link);
?
PHP使用mysqli扩展连接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()查看影响行数