简体   繁体   English

MySQLi 准备好的语句不返回

[英]MySQLi prepared statement not returning

I am learning PHP and I am trying to use prepared statements with MySQLi.我正在学习 PHP,我正在尝试在 MySQLi 中使用准备好的语句。 I know my SQL returns exactly what I want, it returns in PHPmyAdmin just fine, just not in PHP.我知道我的 SQL 返回的正是我想要的,它在 PHPmyAdmin 中返回就好了,只是不在 PHP 中。

    $stmt=mysqli_stmt_init($mysql);
$query = "SELECT name,version,category FROM `software` WHERE id =?";

$stmt = mysqli_stmt_prepare($mysql, $query);

mysqli_stmt_bind_param($stmt, 'i', $sid);

mysqli_stmt_execute($stmt);

mysqli_stmt_bind_result($stmt, $name, $version, $category);

mysqli_stmt_fetch($stmt);

if (empty($name)){die("No results found.");};

echo "<center><h1><b>" . $name . "</b></h1><br />";

I know $sid = 1, because I can echo that and it is set, I can also remove the bind params and just set the ?我知道 $sid = 1,因为我可以回应它并设置它,我也可以删除绑定参数并只设置 ? to 1 and same result.到 1 和相同的结果。

Any help would really be appreciated, thank you!任何帮助将不胜感激,谢谢!

$stmt=mysqli_stmt_init($mysql);
$query = "SELECT name,version,category FROM `software` WHERE id =?";

$stmt = mysqli_stmt_prepare($mysql, $query);

mysqli_stmt_bind_param($stmt, 'i', $sid);

mysqli_stmt_execute($stmt);

mysqli_stmt_bind_result($stmt, $name, $version, $category);

///try the while
while (mysqli_stmt_fetch($stmt)) {
    printf ("%s (%s)\n", $name, $version, $category);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM