在PHP中 *** 作MySQL要注意哪些问题?

在PHP中 *** 作MySQL要注意哪些问题?,第1张

在这种情况下,虽然省略了分号,但是 PHP 在执行 MySQL 命令时会自动加上分号。 另外还有一个不要加分号的情况。当你想把要字段的竖着排列显示下来,而不是像通常的那样横着排列时,你可以用 \G 来结束一行 SQL 语句,这时就用不上分号了,例如: SELECT * FROM PENPALS WHERE USER_ID = 1\G 2、TEXT、DATE、和 SET 数据类型 TEXT 不是一种数据类型,应该是" LONG VARCHAR "或者" MEDIUMTEXT "。 DATE 数据类型的格式是 YYYY-MM-DD ,比如: 2001-10-01 。你可以很容易的用 date 函数来得到这种格式的当前系统时间: date("Y-m-d") 并且,在 DATA 数据类型之间可以作减法,得到相差的时间天数:$age = ($current_date - $birthdate)集合SET 是一个有用的数据类型,它和枚举 ENUM 有点相似,只不过是 SET 能够保存多个值而 ENUM 只能保存一个值而已。而且, SET 类型最多只能够有 64 个预定的值,而 ENUM 类型却能够处理最多 65,535 个预定义的值。而如果需要有大于 64 个值的集合,该怎么办呢?这时就需要定义多个集合来一起解决这个问题了。 3、通配符 SQL 的通配符有两种:" * "和" % "。分别用在不同的情况下。

本文实例讲述了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/zaji/7647065.html

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

发表评论

登录后才能评论

评论列表(0条)

保存