Php MySQL fetch命令不是';t返回数据

Php MySQL fetch命令不是';t返回数据,php,mysql,database,mysqli,Php,Mysql,Database,Mysqli,希望PHP脚本从数据库中提取所有数据并在屏幕上显示。但是,如果不使用$query_params变量,则无法找到显示记录的最有效方法,因为它会在中使用参数生成错误,但如果没有数组,则无法运行 //initial query $query = "Select * FROM tbl_data"; //execute query try { $stmt = $db->prepare($query); $result = $stmt->execute($query_params); }

希望PHP脚本从数据库中提取所有数据并在屏幕上显示。但是,如果不使用$query_params变量,则无法找到显示记录的最有效方法,因为它会在中使用参数生成错误,但如果没有数组,则无法运行

//initial query
$query = "Select * FROM tbl_data";

//execute query
try {
$stmt   = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {
$response["success"] = 0;
$response["message"] = "Database Error!";
die(json_encode($response));
}
这是显示代码

$rows = $stmt->fetchAll();
if ($rows) {
$response["success"] = 1;
$response["message"] = "Post Available!";
$response["posts"]   = array();

foreach ($rows as $row) {
    $post             = array();
    $post["username"] = $row["username"];
    $post["title"]    = $row["title"];
    $post["message"]  = $row["message"];

如果你能帮忙,我将非常感激,谢谢

如果查询中没有参数,为什么要使用prepared语句?实际上,这可能是一个很好的补充点,这是我根据教程编写的代码,他们将参数保留在了中(我猜是错误的),但我不知道使用哪条语句来代替这条语句,因为我正在用Android学习PHP^
PDO::query()
适用于没有输入传递到查询的特定用例。但由于您正在学习,我必须澄清前面的评论,即如果
$query\u params
中包含任何值,那么使用
prepare()/execute()
的方式非常重要。产生错误的具体原因是什么?由于查询中没有命名占位符或
占位符,因此如果从
execute()
中省略
$query\u params
,应该可以正常工作。这是一个空数组吗?是的,数组当前是空的,因为我想在不接受任何用户输入的情况下从数据库中提取所有数据