微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP中mysqli_select_db与mysqli_query函数的用法

在之前的文章中给大家带来了《PHP中怎样去连接MySQL数据库?》,其中详细的介绍了PHP中怎样去连接MysqL数据库,本篇文章我们来看一下PHP通过MysqLi_select_db() 函数来选择数据库的相关知识。希望对大家有帮助!

上篇文章中讲到了PHP通过MysqLi_connect() 函数可以去连接MysqL数据库,其中该函数一个参数是对应数据库名称,这个参数是可选参数,是可以省略的。如果将这个参数省略的话还需要在后面指定一个认的数据库PHP中就可以通过MysqLi_select_db() 函数来指定一个数据库。那接下来我们一起来看看这个函数用法吧。

MysqLi_select_db()函数

函数的语法格式也是要分两种情况,一种是面向对象的写法,其语法格式如下:

MysqLi::select_db(string $dbname)

其中$dbname表示的就是指定的数据库名称,另一种是面向过程的写法,其语法格式如下:

MysqLi_select_db(MysqLi $link, string $dbname)

其中需要注意的是:

函数若是执行成功的话,返回结果是true,函数执行失败,返回结果是flase。

接下来我们通过示例来看一下怎样通过MysqLi_select_db() 函数来选择数据库,示例如下:

<?PHP
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $MysqL    = new MysqLi($host, $username, $password);
    if($MysqL -> connect_errno){
        die('数据库连接失败:'.$MysqL->connect_errno);
    }else{
        $MysqL -> select_db($dbname);                  // 选择名为 test 的数据库
        $sql    = 'select name,sex,age from user';     // sql 语句
        $result = $MysqL -> query($sql);               // 执行上面的 sql 语句
        $data   = $result -> fetch_all();
        $MysqL -> close();
    }
    echo '<pre>';
    print_r($data);
?>

上述实例就是通过MysqLi_select_db() 函数函数选择了一个名为“test”的数据库输出结果如下:

1027.05.png

上述示例中用的是面向对象的写法,接下来我们看一下,面向过程的写法是什么样的,示例如下:

<?PHP
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $link     = @MysqLi_connect($host, $username, $password);
    if($link){
        MysqLi_select_db($link, $dbname);           // 选择名为 test 的数据库
        $sql    = 'select name,sex,age from user';  // sql 语句
        $result = MysqLi_query($link, $sql);        // 执行 sql 语句,并返回结果
        $data   = MysqLi_fetch_all($result);        // 从结果集中获取所有数据
        MysqLi_close($link);
    }else{
        echo '数据库连接失败!';
    }
    echo '<pre>';
    print_r($data);
?>

上述示例中,两个写入方法的差别并不大,输出的结果也是相同的。由此我们便通过MysqLi_select_db() 函数来指定一个数据库。那接下来我们来看一下MysqLi_query() 函数,它是做什么的又是怎样使用的呢?

MysqLi_query() 函数

在我们上述的实例中,已经完成了指定选择一个数据库,那接下来就可以对所选数据库中的数据表进行查询、更改以及删除等操作。完成这些操作就需要通过MysqLi_query() 函数了,该函数的语法格式如下:

MysqLi::query( string $query [, int $resultmode = MysqLI_STORE_RESULT ] )

这是面向对象的写法,其中需要注意的是:

  • $query 表示要执行的 sql 语句;

  • $resultmode 是可选参数,用来修改函数的行为。

下面是面向过程的语法格式写法,示例如下:

MysqLi_query( MysqLi $link , string $query [, int $resultmode = MysqLI_STORE_RESULT ] )

其中需要注意的是:

接下来我们通过示例来看一下MysqLi_query() 函数的使用,示例如下:

在开始前,我们先在数据表中添加一些数据用来进行示例

MysqL> select * from user;
+----+--------+------+------+
| id | name | age | sex |
+----+--------+------+------+
| 1 | 壹壹 | 21 | 男 |
| 2 | 贰贰 | 22 | 男 |
| 3 | 叁叁 | 23 | 女 |
| 4 | 肆肆 | 24 | 女 |
+----+--------+------+------+
4 rows in set (0.00 sec)

首先我们先来看一下面向对象的写法,示例如下:

<?PHP
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $MysqL    = new MysqLi($host, $username, $password, $dbname);
    if($MysqL -> connect_errno){
        die('数据库连接失败:'.$MysqL->connect_errno);
    }else{
        $MysqL -> set_charset('UTF-8');             // 设置数据库字符集
        $sql = 'select name,sex,age from user';     // sql 语句
        $result = $MysqL -> query($sql);            // 执行上面的 sql 语句
        $data = $result -> fetch_all();
        $MysqL -> close();
    }
    echo '<pre>';
    print_r($data);
?>

输出结果:

1027.06.png

上述是面向对象的写法,面向过程的写法如下所示:

<?PHP
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $link = @MysqLi_connect($host, $username, $password, $dbname);
    if($link){
        $sql    = 'select name,sex,age from user';  // sql 语句
        $result = MysqLi_query($link, $sql);        // 执行 sql 语句,并返回结果
        $data   = MysqLi_fetch_all($result);        // 从结果集中获取所有数据
        MysqLi_close($link);
    }else{
        echo '数据库连接失败!';
    }
    echo '<pre>';
    print_r($data);
?>

输出结果与上述示例中输出结果相同,由此我们便完成了通过MysqLi_query() 函数数据库查询

大家如果感兴趣的话,可以点击《PHP教程》进行更多关于PHP知识的学习。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐