PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
本文实例讲述了PHP5.5基于mysqli连接MySQL数据库和读取数据操作。分享给大家供大家参考,具体如下:
在学习1.开启PHP的API支持
(1)首先修改您的php.ini的配置文件。
查找下面的语句:
;extension=php_mysqli.dll
将其修改为:
extension=php_mysqli.dll
(2)重新启动Apache/IIS,即可。
(3)说明:PHP需要单独的文件来支持这个扩展库,一般在PHP目录下的ext目录里能找到php_mysqli.dll文件(PHP<=5.0.2中是libmysqli.dll),当然,在PHP的配置文件当中要有正确指向ext的信息(extension_dir)。假若您的PHP没有这个文件,您可以去下载PHP5的源码包。另外,这个API扩展,只能在PHP5以上版本使用。其它具体信息,请看下面。
2.PHPmysqli身份证
mysqli是“MySQL,Improved”的缩写,该扩展仅适用于PHP5。它能用于MySQL4.1.1和更高版本。该扩展完全支持MySQL5.1中采用的鉴定协议,也支持预处理语句和多语句API。此外,该扩展还提供了先进的、面向对象的编程接口
使用MySQLi
以下实例中我们从myDB数据库的MyGuests表读取了id,firstname和lastname列的数据并显示在页面上:
connect_error){ die("连接失败:".$conn->connect_error); } $sql="SELECTid,firstname,lastnameFROMMyGuests"; $result=$conn->query($sql); if($result->num_rows>0){ //输出数据 while($row=$result->fetch_assoc()){ echo"id:".$row["id"]."-Name:".$row["firstname"]."".$row["lastname"]."
"; } }else{ echo"0结果"; } $conn->close(); ?>
以上代码解析如下:
首先,我们设置了SQL语句从MyGuests数据表中读取id,firstname和lastname三个字段。之后我们使用改SQL语句从数据库中取出结果集并赋给复制给变量$result。
函数num_rows()判断返回的数据。
如果返回的是多条数据,函数fetch_assoc()将结合集放入到关联数组并循环输出。while()循环出结果集,并输出id,firstname和lastname三个字段值。
以下实例使用MySQLi面向过程的方式,效果类似以上代码:
实例(MySQLi-面向过程)
0){ //输出数据 while($row=mysqli_fetch_assoc($result)){ echo"id:".$row["id"]."-Name:".$row["firstname"]."".$row["lastname"]."
"; } }else{ echo"0结果"; } mysqli_close($conn); ?>
使用PDO(+预处理)
以下实例使用了预处理语句。
选取了MyGuests表中的id,firstname和lastname字段,并放到HTML表格中:
"; echo""; classTableRowsextendsRecursiveIteratorIterator{ function__construct($it){ parent::__construct($it,self::LEAVES_ONLY); } functioncurrent(){ return" Id Firstname Lastname ".parent::current().""; } functionbeginChildren(){ echo" "; } functionendChildren(){ echo" "."\n"; } } $servername="localhost"; $username="username"; $password="password"; $dbname="myDBPDO"; try{ $conn=newPDO("mysql:host=$servername;dbname=$dbname",$username,$password); $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $stmt=$conn->prepare("SELECTid,firstname,lastnameFROMMyGuests"); $stmt->execute(); //设置结果集为关联数组 $result=$stmt->setFetchMode(PDO::FETCH_ASSOC); foreach(newTableRows(newRecursiveArrayIterator($stmt->fetchAll()))as$k=>$v){ echo$v; } } catch(PDOException$e){ echo"Error:".$e->getMessage(); } $conn=null; echo""; ?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。