win*_*ung -1 php mysql prepare
谁能给我一个建议?为什么查询无法为我提供预期值?谢谢.
$mysqli = new mysqli($GLOBALS["mysql_host"], $GLOBALS["mysql_user"], $GLOBALS["mysql_passwd"], $GLOBALS["mysql_database"]);
$stmt = $mysqli->prepare("SELECT one FROM table ORDER BY date DESC LIMIT 1");
$last = $stmt->bind_result($one);
$stmt->execute();
$stmt->close();
$mysqli->close();
Echo $last; //it should be "abc"
Run Code Online (Sandbox Code Playgroud)
我认为你必须execute然后打电话fetch给mysql_stmt对象.因为您可能会得到多个结果(行).
随着fetch你将推进你的结果 - 光标.
文档: mysqli mysqli-stmt
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* prepare statement */
if ($stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
$stmt->execute();
/* bind variables to prepared statement */
$stmt->bind_result($col1, $col2);
/* fetch values */
while ($stmt->fetch()) {
printf("%s %s\n", $col1, $col2);
}
/* close statement */
$stmt->close();
}
/* close connection */
$mysqli->close();
?>
Run Code Online (Sandbox Code Playgroud)