0

这是我在第一名的第一个 php。如果我做的有什么问题,请帮我写代码。因为我刚开始学习。我尝试了很多教程,但我无法理解我做错了什么。

 <?php

include "db_config.php";

$query = mysql_query("SELECT * FROM places WHERE place_id ='".mysql_real_escape_string($_REQUEST[place_id])."'");

while($e=mysql_fetch_assoc($query))
        $output[]=$e;

echo $row['name'];

mysql_close();
?>

这个对吗?我不确定它是如何工作的。

$stmt = $db->prepare("SELECT * FROM table WHERE $_REQUEST[place_id]");
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
4

2 回答 2

4

你在这一行有一个错字:

 while($e=mysql_fetch_assoc($q))

$q需要$query$q我在您的代码中没有看到变量。这是 php 代码中的一个常见问题,就好像你引入一个像$qphp 这样的名字“很好”,足以为你创建变量并将其初始化为,null而不是理智地给你一个错误。

于 2012-07-20T15:05:11.867 回答
2

您需要将 mysql_query 的结果提供给 mysql_fetch_assoc(),这里是 $query。

<?php

include "db_config.php";

$query = mysql_query("SELECT * FROM places WHERE place_id='".mysql_real_escape_string($_POST[place_id])."'");

while($e=mysql_fetch_assoc($query))
    $output[]=$e;

print(json_encode($output));

mysql_close();
?>

此外,您需要使用一些 pdo 或 mysqli,因为不推荐使用 mysql_:http ://php.net/manual/en/function.mysql-query.php

于 2012-07-20T15:07:27.777 回答