mysqli

一、mysql与mysqli的概念相关:

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

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

  3. mysql_connect()与mysqli_connect()

  • 使用mysqli,可以把数据库名称当作参数传给mysqli_connect()函数,也可以传递给mysqli的构造函数;

  • 如果调用mysqli_query()或mysqli的对象查询query()方法,则连接标识是必需的。

  1. 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_第1张图片
�结果

数据库操作关键函数

* 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);

你可能感兴趣的:(mysqli)