mysqli面向对象和面向过程有什么区别

mysqli面向对象和面向过程有什么区别,第1张

可以这么讲。因为很多PHP程序员不习惯面向对象编程,所以mysqli类库提供了这个方法供他们使用。这也是方便一些使用mysql扩展的用户快速迁移到mysqli。实际上,mysqli_query()内部是对面向对象调用过程的封装。

我个人觉得还是面向对象的写法比较简洁,而mysqli_query()需要多传递一个参数。

本文实例讲述了php使用mysqli向数据库添加数据的方法。分享给大家供大家参考。具体实现方法如下:

$mydb

=

new

mysqli('localhost',

'username',

'password',

'databasename')

$sql

=

"INSERT

INTO

users

(fname,

lname,

comments)

VALUES

('$_POST[fname]',

'$_POST[lname]',

'$_POST[comments]')"

if

($mydb->query($sql)

==

TRUE)

{

echo

"user

entry

saved

successfully."

}

else

{

echo

"INSERT

attempt

failed"

}

$mydb->close()

希望本文所述对大家的php程序设计有所帮助。

本文实例讲述了php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率。分享给大家供大家参考,具体如下:

<?php

/**

*

测试pdo和mysqli的执行效率

*/

header("Content-type:text/htmlcharset=utf-8")

//通过pdo链接数据库

$pdo_startTime

=

microtime(true)

$pdo

=

new

PDO("mysql:host=localhostdbname=test","root","1234",array(PDO::MYSQL_ATTR_INIT_COMMAND

=>

"SET

NAMES'utf8'"))

for($i=1$i<=100$i++){

$title

=

"pdo标题".$i

$content

=

"pdo内容".$i

$addtime

=

time()

$user_id

=

$i

$pdo_sql

=

"INSERT

INTO

`article`(`title`,`content`,`addtime`,`user_id`)

VALUES(:title,:content,:addtime,:user_id)"

$sth

=

$pdo->prepare($pdo_sql)

$sth->bindParam(':title',$title)

$sth->bindParam(':content',$content)

$sth->bindParam(':addtime',$addtime)

$sth->bindParam(':user_id',$user_id)

$sth->execute()

}

$pdo_endTime

=

microtime(true)

$pdo_time

=

$pdo_endTime

-

$pdo_startTime

echo

$pdo_time

echo

"<hr/>"

//通过mysql链接数据库

$mysqli_startTime

=

microtime(true)

$mysqli

=

mysqli_connect("localhost","root","1234","test")

or

die("数据连接失败")

mysqli_query($mysqli,"set

names

utf8")

for($i=1$i<=100$i++){

$title

=

"mysqli标题".$i

$content

=

"mysqli内容".$i

$addtime

=

time()

$user_id

=

$i

$sql

=

"INSERT

INTO

`article`(`title`,`content`,`addtime`,`user_id`)

VALUES('".$title."','".$content."',".$addtime.",".$user_id.")"

mysqli_query($mysqli,$sql)

}

$mysqli_endTime

=

microtime(true)

$mysqli_time

=

$mysqli_endTime

-

$mysqli_startTime

echo

$mysqli_time

echo

"<hr/>"

if($pdo_time

>

$mysqli_time){

echo

"pdo的执行时间是mysqli的".round($pdo_time/$mysqli_time)."倍"

}else{

echo

"mysqli的执行时间是pdo的".round($mysqli_time/$pdo_time)."倍"

}

测试结果:其实经过多次测试,pdo和mysqli的执行效率差不多。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo *** 作数据库技巧总结》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库 *** 作入门教程》及《php常见数据库 *** 作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例php中数据库连接方式pdo和mysqli对比分析php中关于mysqli和mysql区别的一些知识点分析php *** 作mysqli(示例代码)php封装的mysqli类完整实例PHP以mysqli方式连接类完整代码实例php简单解析mysqli查询结果的方法(2种方法)php中mysql连接方式PDO使用详解Php中用PDO查询Mysql来避免SQL注入风险的方法php

mysql

PDO

查询 *** 作的实例详解PHP实现PDO的mysql数据库 *** 作类


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11217294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存