Code前端首页关于Code前端联系我们

phpmysqli面向对象,mysqli面向对象和面向过程

terry 3年前 (2023-09-30) 阅读数 44 #PHP
文章标签 PHP工程师

本文目录一览:

  • 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()查看影响行数

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门