Php mysqli_stmt_bind_结果导致500错误

Php mysqli_stmt_bind_结果导致500错误,php,mysqli,Php,Mysqli,我试图使用mysqli从DB读取数据,但脚本在mysqli\u stmt\u bind\u result语句上崩溃。我找不到任何理由——也许你们中的任何一个有着新鲜的眼睛 如果我注释掉那一行,$行被填充,那么它显然连接到数据库OK <?php error_reporting(E_ALL); ini_set('display_errors', '1'); $id="a"; $name="b"; $dbc=mysqli_connect("1.2.3.4", "username", "passw

我试图使用mysqli从DB读取数据,但脚本在
mysqli\u stmt\u bind\u result
语句上崩溃。我找不到任何理由——也许你们中的任何一个有着新鲜的眼睛

如果我注释掉那一行,$行被填充,那么它显然连接到数据库OK

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$id="a";
$name="b";
$dbc=mysqli_connect("1.2.3.4", "username", "password", "database") OR die ('Could not connect to MySQL: ' . mysqli_connect_error() );

echo "Hello\n";
#### Read park names from DB ####
$q="SELECT id,name FROM park WHERE status=? ORDER BY id";
$stmt=mysqli_prepare($dbc, $q);
$status='show';
mysqli_stmt_bind_param($stmt,'s',$status);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt,$id,$name);
mysqli_stmt_store_result($stmt);
$rows=mysqli_stmt_num_rows($stmt);
echo "rows: $rows\n";
while (mysqli_stmt_fetch($stmt)) {
    echo "<li><a href=\"/park/$id/\">$name</a></li>\n";
}
mysqli_stmt_close($stmt);
#### Finished reading park names from DB ####
mysqli_close($dbc);
echo "Goodbye\n";
?>

PHPINFO为mysqli报告了以下内容:

客户端API库版本5.0.91

客户端API头版本5.0.95


我尝试在PHP5.2和5.4之间切换,没有任何变化。

您在哪里定义
$id
$name
?您是否有适当级别的错误报告?作为一名PHP初学者,通过黑客而不是学习来学习,我恐怕不理解定义变量的概念。。。。所以这也许是我问题的根源。你能给我指一下正确的方向吗?这将是我第一次引用这些变量-我需要先做什么?@DamienPirsy:bind_result将数据存储在这些变量中(它们是引用的参数),因此无需事先定义它们(这将被覆盖)。杰里米156:看。如果有500个错误,PHP会知道原因,您只需配置它来告诉您问题所在。如果这与使用POST作为方法的表单一起使用,则首先需要这样定义:
$id=$\u POST['id']$名称=$_POST['name']它们不会“神奇地出现/发生”。它们需要定义。如果可以的话,叫它“地址”。如果邮递员不知道你住在哪里,你希望邮件怎么送到你家