当前位置:首页 » 编程语言 » phpmysqli扩展

phpmysqli扩展

发布时间: 2022-07-06 00:00:24

1. 关于~~使用php的mysqli扩展库操作数据库 的问题

首先mysqli("
localhost
","root","1234");应该是个函数,不应该用new
关键字。
new
是来实例化对象的。
$link
=
mysqli_connect(
'localhost',
/*
The
host
to
connect
to
连接MySQL地址
*/
'user',
/*
The
user
to
connect
as
连接MySQL用户名
*/
'password',
/*
The
password
to
use
连接MySQL密码
*/
'world');
这个才是连接语句。

2. php里,mysqli扩展,用什么取代mysql_result,比如说如下代码mysqli扩展怎么取代

$query=mysqli_query($con,'selectcount(*)fromdemo');
echomysqli_result($query,1);//

建议,mysqli扩展是mysql的oo思想,所以建议使用如下:

$mysqli=newmysqli("localhost","root","123","demo");//连接本地demo数据库
if(mysqli_connect_errno()){
printf("连接失败:%s<br>",mysqli_connect_error());
exit();
}
$mysqli->query("setnamesutf8");//设置字符集为utf-8
$result=$mysqli->query("selectcount(*)fromdemo");
echo$result->fetch_row();
$result->close();//关闭结果集
$mysqli->close();//关闭与数据库的连接

当然还有pdo扩展也差不多

3. nginx和php 怎么安装mysqli扩展

在 centos 下编译安装 php 时,有时候经常会忘了某些扩展,比如 pdo,mysqli,但是到扩展目录下,我们又找不到相应的 扩展文件,(.so 文件) ,这样的情况下只能 编译安装该模块,生成对应的 so 文件,然后在 php.ini 中添加相应的 扩展记录,重启 php就可以了,我们以安装 mysqli 为例。
首先进入 php 源码包 如果 找不到可以可下载一个 地址在这里:http://us2.php.net/get/php-5.2.17.tar.gz/from/a/mirror解压
tar xvzf php-5.2.17.tar.gz
cdphp-5.2.17/ext/mysqli/
然后运行 php 安装目录下的 phpize
/usr/local/nginx_php-5.2.17/bin/phpize
(根据自己的 php 安装目录来查找,不一定是这个目录,如果找不到,可以根据 phpinfo() 来查看)然后编译安装 mysqli 扩展
#./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/nginx_php-5.2.17/bin/php-config --with-mysqli=/usr/local/mysql/mysql_config安装
make && make install
然后在 php 的扩展目录下已经生成了 mysqli.so 文件打开 php.ini 文件,看是否有如下内容
extension_dir = "/usr/local/nginx_php-5.2.17/lib/php/extensions/no-debug-non-zts-20060613/"如果没有就添加上
再添加一条:
extension=mysqli.so
保存。
重启 php。可以看到 mysqli 已经安装完成了。

4. 如何在php中扩展mysqli插件。

Mysqli是php5之后才有的功能,没有开启扩展的可以打开php.ini的配置文件
查找下面的语句:;extension=php_mysqli.dll将其修改为:extension=php_mysqli.dll即可。
相对于mysql有很多新的特性和优势
(1)支持本地绑定、准备(prepare)等语法
(2)执行sql语句的错误代码
(3)同时执行多个sql
(4)另外提供了面向对象的调用接口的方法。

5. 缺少 mysqli 扩展.请检查 PHP 配置

打开你的php.ini->具体看你的安装目录。
找到
;extension=php_msql.dll

;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
需要开启哪个扩展,就把这一行前面的分号去掉就行,注意要重启Apache 或者IIS

解决步骤:

1.看看php的ext目录中是否有php_mysqli.dll文件
如果有,继续下面的步骤。没有的话重新装个php
2.打开php.ini,找到
;extension=php_mysqli.dll把前面的;去掉

3.找到;extension_dir="./ext"

把前面的分号";"去掉,改为(相对于php的安装路径的ext目录)
extension_dir = "e:phpext"
e:php为php的存放目录
4.把php.ini拷贝到c:windows下
5.把libmysql.dll复制到Windows下面的System32目录(这个很关键)
6.重新启动IIS(不是网站)
cmd下运行 iisreset/RESTART
如果上面方法还不行,可参考下面方法操作
第一步,输出 phpinfo() 看看 MySQL 模块是否成功装载,如果成功装载说明你见鬼了,否则看第二步,
IIS下phpinfo()无mysql模块是何原因?
原先用的php是.msi安装的,后来全部重来了一次,换成压缩包形式安装的。
又照着配置了php.ini,复制到winnt,复制libmysql.dll到system32。
之后测试成功。。。
第二步,查看 extension_dir 的设置是否正确
第三步,查看是否把 libmysql.dll 文件复制到 c:windowssystem32 下
1、没有正确安装Mysql数据库,在系统服务中Mysql相关的服务没有启动 (请查看正确安装Mysql的方法)
2、在系统的 system32(C:windowssystem32) 目录下缺少 libmysql.dll文件,解决方法是找到php目录下的libmysql.dll,并将libmysql.dll复制到C:windowssystem32目录中,然后重新启动Web服务。

3、在C:windows目录下的php.ini文件中,没有将“;extension=php_mysql.dll”中的前面一个“;”去掉,所以不能使用相应功能,解决方法是打开php.ini文件

4、Mysql目录没有读取权限,正确的目录权限如下:

administrator 完全控制
system 完全控制
user 读取加运行
其他的用户权限全部删除(也可保留,但安全性不高,建议删除),然后重启MYsql服务和Web服务。

6. 腾讯云服务器下,怎么安装php的mysqli扩展

添加扩展的基本步骤:

1、进入php源代码目录:# cd /tmp/php-5.x.x/
2、再进入要添加的mysqli扩展源码目录:# cd ext/mysqli/
2、调用已经编译好的php里面的phpize:# /usr/local/php/bin/phpize
3、然后configure:# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
(/usr/local/mysql 为mysql的安装目录)
4、make && make install
5、编译之后,自动把mysqli.so放到了默认的php扩展目录下,我的为 /usr/local/php/lib/php/extensions/no-debug-non-zts-20xx0722/

(phpinfo可查看或者执行命令/usr/local/php/bin/php-config --extension-dir )

再修改php.ini 找到extension_dir 默认路径为 extension_dir="./" 我修改后才启动加载的

在下面添加extension = "mysqli.so" 保存即可

extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20xx0722/"

extension = "mysqli.so"

6、重启apache:# service httpd restart
求课吧有挺多IT编程类的教程的

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

8. php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例

本文实例讲述了php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率。分享给大家供大家参考,具体如下:
<?php
/**
*
测试pdo和mysqli的执行效率
*/
header("Content-type:text/html;charset=utf-8");
//通过pdo链接数据库
$pdo_startTime
=
microtime(true);
$pdo
=
new
PDO("mysql:host=localhost;dbname=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数据库操作类

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:433
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:744
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:147
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:240
java驼峰 发布:2025-02-02 09:13:26 浏览:652
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726