Php/docs/mysqli-stmt.fetch
mysqli_stmt::fetch
mysqli_stmt_fetch
(PHP 5, PHP 7)
mysqli_stmt::fetch -- mysqli_stmt_fetch — Fetch results from a prepared statement into the bound variables
说明
面向对象风格
public mysqli_stmt::fetch ( ) : bool
过程化风格
mysqli_stmt_fetch
( mysqli_stmt $stmt
) : bool
Fetch the result from a prepared statement into the variables bound by mysqli_stmt_bind_result().
Note:
Note that all columns must be bound by the application before calling mysqli_stmt_fetch().
Note:
Data are transferred unbuffered without calling mysqli_stmt_store_result() which can decrease performance (but reduces memory cost).
返回值
Value | Description |
---|---|
true
|
Success. Data has been fetched |
false
|
Error occurred |
null
|
No more rows/data exists or data truncation occurred |
范例
Example #1 面向对象风格
<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");/* check connection */if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit();}$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";if ($stmt = $mysqli->prepare($query)) { /* execute statement */ $stmt->execute(); /* bind result variables */ $stmt->bind_result($name, $code); /* fetch values */ while ($stmt->fetch()) { printf ("%s (%s)\n", $name, $code); } /* close statement */ $stmt->close();}/* close connection */$mysqli->close();?>
Example #2 过程化风格
<?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();}$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";if ($stmt = mysqli_prepare($link, $query)) { /* execute statement */ mysqli_stmt_execute($stmt); /* bind result variables */ mysqli_stmt_bind_result($stmt, $name, $code); /* fetch values */ while (mysqli_stmt_fetch($stmt)) { printf ("%s (%s)\n", $name, $code); } /* close statement */ mysqli_stmt_close($stmt);}/* close connection */mysqli_close($link);?>
以上例程会输出:
Rockford (USA) Tallahassee (USA) Salinas (USA) Santa Clarita (USA) Springfield (USA)
参见
- mysqli_prepare() - 准备执行一个 SQL 语句
- mysqli_stmt_errno() - Returns the error code for the most recent statement call
- mysqli_stmt_error() - Returns a string description for last statement error
- mysqli_stmt_bind_result() - Binds variables to a prepared statement for result storage