使用mysqli方式进行数据库查询

1、mysql与mysqli的概念相关:php

一、mysql与mysqli都是php方面的函数集,与mysql数据库关联不大。mysql

二、在php5版本以前,通常是用php的mysql函数去驱动mysql数据库的,好比mysql_query()的函数,属于面向过程三、在php5版本之后,增长了mysqli的函数功能,某种意义上讲,它是mysql系统函数的加强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操做驱动mysql数据库linux

2、mysql与mysqli的区别:sql

一、mysql是非持继链接函数,mysql每次连接都会打开一个链接的进程。数据库

二、mysqli是永远链接函数,mysqli屡次运行mysqli将使用同一链接进程,从而减小了服务器的开销。mysqli封装了诸如事务等一些高级操做,同时封装了DB操做过程当中的不少可用的方法。json

3、mysqli的用法:安全

ConnectionMySQL.php
服务器

<?php

// 设置返回json格式数据
header('content-type:application/json;charset=utf8');

$mysql_server_name = "localhost"; //数据库服务器名称
$mysql_username = "root"; // 链接数据库用户名
$mysql_password = "xxxx"; // 链接数据库密码
$mysql_database = "stalker"; // 数据库的名字
$mysql_port = "3306"; //端口号
$conn; //数据库链接标识;
$result; //执行query命令的结果资源标识


//Open a new connection to the MySQL server
$conn = new mysqli($mysql_server_name, $mysql_username, $mysql_password, $mysql_database, $mysql_port);
//Output any connection error
if($conn->connect_error) {
   die('Error:('.$conn->connect_errno .') '.$conn->connect_error);
}

SqlStatement
app

<?php

$sql; //sql执行语句
$row; //返回的条目数

//要执行的SQL语句
$sql="SELECT * FROM `personinfo`";

$results = array();
$i = 0;

//调用ConnectionMySQL.php文件进行数据库链接操做
require('ConnectionMySQL.php');

foreach($conn->query($sql) as $row) {
   $results[$i] = $row;
   $i++;
}
// 将结果转成json格式
echo json_encode(array('jsonObj'=>$results));

// 关闭链接
$conn->close();

结果:函数

{"jsonObj":[{"id":"001","name":"\u5f20\u5a01","type":"Android"},{"id":"002","name":"\u5f20\u745e\u5cf0","type":"Android"},{"id":"003","name":"\u5f20\u671d","type":"Android"},{"id":"004","name":"\u5f20\u9a8b","type":"Android"}]}

通常是mysqli是没有开启的,由于mysqli类不是默认开启的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli编译进去。

4、mysql_connect()与mysqli_connect()

1.使用mysqli,能够把数据库名称看成参数传给mysqli_connect()函数,也能够传递给mysqli的构造函数;

2.若是调用mysqli_query()或mysqli的对象查询query()方法,则链接标识是必需的。

相关文章
相关标签/搜索