PHP mysqli_query MySQLi 函数

  • 定义和用法

    mysqli_query - 对数据库执行一次查询
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 支持 支持
  • 语法

    mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
    
    对数据库执行查询。 对于非DML查询(非INSERT,UPDATE或DELETE),此函数类似于调用mysqli_real_query()后跟mysqli_use_result()mysqli_store_result()
  • 参数

    参数 必需的 描述
    link mysqli_connect()mysqli_init() 返回的链接标识。
    query 要执行的SQL语句。
    resultmode 常数MYSQLI_USE_RESULTMYSQLI_STORE_RESULT取决于所需的行为。 默认情况下,使用MYSQLI_STORE_RESULT。 如果使用MYSQLI_USE_RESULT,则所有后续调用将返回错误命令,这些命令不同步,除非您调用mysqli_free_result()。使用MYSQLI_ASYNC(可用于mysqlnd),可以异步执行查询。 然后使用mysqli_poll()从此类查询中获取结果。
  • 返回值

    失败时返回 FALSE,通过mysqli_query() 成功执行SELECT, SHOW, DESCRIBE或 EXPLAIN查询会返回一个mysqli_result 对象,其他查询则返回TRUE。
  • 示例

    <?php
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");
    
    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    
    /* Create table doesn't return a resultset */
    if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
        printf("Table myCity successfully created.\n");
    }
    
    /* Select queries return a resultset */
    if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) {
        printf("Select returned %d rows.\n", mysqli_num_rows($result));
    
        /* free result set */
        mysqli_free_result($result);
    }
    
    /* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
    if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT)) {
    
        /* Note, that we can't execute any functions which interact with the
           server until result set was closed. All calls will return an
           'out of sync' error */
        if (!mysqli_query($link, "SET @a:='this will not work'")) {
            printf("Error: %s\n", mysqli_error($link));
        }
        mysqli_free_result($result);
    }
    
    mysqli_close($link);
    
  • 相关函数

    mysqli_real_query() - 执行一个mysql查询
    mysqli_multi_query() - 执行查询
    mysqli_free_result() - 释放与结果关联的内存