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_RESULT或MYSQLI_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() - 释放与结果关联的内存