Mysql准备语句 - 选择

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)

mo.*_*mo. 5

我认为你必须execute然后打电话fetchmysql_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)