我对准备好的陈述还是个新手,所以请原谅我的愚蠢错误。
目前我尝试从数据库外部选择一些东西。尽管没有输出。
$stmt = $mysqli->prepare("SELECT title FROM media");
$stmt->bind_param("s", $title);
$stmt->execute();
$stmt->bind_result($a);
$stmt->fetch();
printf("Title: ", $title, $a);
$stmt->close();
最佳答案
为了能够从准备好的语句中输出一些东西,你必须先从数据库中选择一些东西。
如果你只想选择一个标题,那么你必须添加一个WHERE条件
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$stmt = $mysqli->prepare("SELECT title FROM media WHERE title=?");
$stmt->bind_param("s", $title);
$stmt->execute();
$stmt->bind_result($a);
$stmt->fetch();
echo "Title: $title : $a");
$stmt->close();
但您必须意识到条件应该与数据库中存在的实际标题相匹配。否则什么也不会打印。
如果你想选择所有的标题,然后删除绑定(bind)并添加一个循环
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$stmt = $mysqli->prepare("SELECT title FROM media");
$stmt->execute();
$stmt->bind_result($a);
while ($stmt->fetch())
{
echo "Title: $a";
}
$stmt->close();
按流行的需求添加了最小的错误处理
关于php - SELECT 查询准备语句输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32654890/