• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mysqli::select_db()

    (PHP 5, PHP 7)

    选择用于数据库查询的默认数据库

    说明

    面向对象风格
    mysqli::select_db(string $dbname): bool
    过程化风格
    mysqli_select_db(mysqli$link,string $dbname): bool

    针对本次数据库连接用于数据库查询的默认数据库。

    Note:

    本函数应该只被用在改变本次链接的数据库,你也能在mysqli_connect()第四个参数确认默认数据库。

    参数

    $link

    仅以过程化样式:由mysqli_connect()或mysqli_init()返回的链接标识。

    $dbname

    数据库名称

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    范例

    Example #1 mysqli::select_db() example

    面向对象风格

    <?php
    $mysqli = new mysqli("localhost", "my_user", "my_password", "test");
    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    /* return name of current default database */
    if ($result = $mysqli->query("SELECT DATABASE()")) {
        $row = $result->fetch_row();
        printf("Default database is %s.\n", $row[0]);
        $result->close();
    }
    /* change db to world db */
    $mysqli->select_db("world");
    /* return name of current default database */
    if ($result = $mysqli->query("SELECT DATABASE()")) {
        $row = $result->fetch_row();
        printf("Default database is %s.\n", $row[0]);
        $result->close();
    }
    $mysqli->close();
    ?>
    

    过程化风格

    <?php
    $link = mysqli_connect("localhost", "my_user", "my_password", "test");
    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    /* return name of current default database */
    if ($result = mysqli_query($link, "SELECT DATABASE()")) {
        $row = mysqli_fetch_row($result);
        printf("Default database is %s.\n", $row[0]);
        mysqli_free_result($result);
    }
    /* change db to world db */
    mysqli_select_db($link, "world");
    /* return name of current default database */
    if ($result = mysqli_query($link, "SELECT DATABASE()")) {
        $row = mysqli_fetch_row($result);
        printf("Default database is %s.\n", $row[0]);
        mysqli_free_result($result);
    }
    mysqli_close($link);
    ?>
    

    以上例程会输出:

    Default database is test.
    Default database is world.
    

    参见

    • mysqli_connect()别名 mysqli::__construct
    • mysqli_real_connect() 建立一个 MySQL 服务器连接
    Note that in the second example, if the database "world" does not exist, the database selected does not change. You may need to add additional code to ensure that you are connected to the correct database.
    In some situations its useful to use this function for changing databases in general. We've tested it in production environment and it seams to be faster with switching databases than creating new connections.