mysqli
一、mysql与mysqli的概念相关:
-
mysql与mysqli都是php方面的函数集,与mysql数据库关联不大。
-
在php5版本之前,一般是用php的mysql函数去驱动mysql数据库的,比如mysql_query()的函数,属于面向过程3、在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库
-
mysql_connect()与mysqli_connect()
-
使用mysqli,可以把数据库名称当作参数传给mysqli_connect()函数,也可以传递给mysqli的构造函数;
-
如果调用mysqli_query()或mysqli的对象查询query()方法,则连接标识是必需的。
- mysql与mysqli的区别:
-
mysql是非持继连接函数,mysql每次链接都会打开一个连接的进程。
-
mysqli是永远连接函数,mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。返回记录集类型为array mysql_fetch_array ( resource $result [, int $ result_type ] )有一点很重要必须指出,用 mysql_fetch_array() 并不比用 mysql_fetch_row()慢,而且还提供了明显更多的值。 mysql_fetch_array() 中可选的第二个参数 是一个常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。参数的默认值是 MYSQL_BOTH。如果用了 MYSQL_BOTH,将得到一个同时包含关联和数字索引的数组。用 MYSQL_ASSOC 只得到关联索引(如同 mysql_fetch_assoc()那样 mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组。返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。),用 MYSQL_NUM 只得到数字索引[]。例如:
$con = mysqli_connect("localhost","root","","mydb");
$select1 = "select * from mysql_table where age > 20";
$re_select1 = mysqli_query($con, $select1);
print_r($re_select1);
$data = mysqli_fetch_all($re_select1,MYSQLI_ASSOC);
print_r($data);
�结果
数据库操作关键函数
* mysqli_connect: 连接数据库
* mysqli_error: 最后一次SQL动作错误信息
* mysql_errno(): 函数返回上一个 MySQL 操作中的错误信息的数字编码。
返回上一个 MySQL 函数的错误号码,如果没有出错则返回 0(零)。
* mysqli_query: 执行SQL语句,增删改查
* mysqli_select_db: 选择数据库
* mysqli_fetch_array(): 从查询结果去1条查询记录
* mysqli_fetch_all(): 函数从结果集中取得所有行作为关联数组
* mysqli_close: 关闭数据库
假设数据库的名称为mydb
连接数据库
/**
*'localhost', /* The host to connect to 连接MySQL地址 */
*'root', /* The user to connect as 连接MySQL用户名 */
*'password', /* The password to use 连接MySQL密码 */
*'mydb'); /* The default database to query 连接数据库名称*/
/
$connect = mysqli_connect("localhost","root","","mydb");
创建数据表 person
$create_table = "create table mysql_table(id int NOT NULL AUTO_INCREMENT,PRIMARY KEY(id),name varchar(15),age int)";
mysqli_query($con,$create_table);
插入数据
$insert1 = "insert into mysql_table (`name`, `age`) values('yyy',90)";
mysqli_query($con,$insert1);
查询数据
$select1 = "select * from mysql_table where age > 20";
$re_select1 = mysqli_query($con, $select1);
print_r($re_select1);
关闭数据
mysqli_close($con);