编辑:已解决。感谢评论中的人建议打开PHP错误消息,向我展示出现问题的确切位置。对于那些好奇的人来说,它就像这样简单:两个函数调用有" mysql _"而不是" mysqli _"。还要感谢用户指出准备好的SQL查询必须使用 - > execute()而不是mysqli_query()。
我正在社区公告板上工作。我已经把它发布到发布列表的页面工作并将其提交到数据库,但是当我尝试搜索列表时,我遇到了SQL查询的问题。这是我的代码:
<?php
if(isset($_GET['submit'])){
$location = $_GET['location'];
echo "Looking for listings in: " . $location;
echo "<br />";
require_once('mysqli_connect.php');
$query = "
SELECT email_address
, phone_number
, date
, listing_content
FROM listings
WHERE location='?'
";
echo $query;
$stmt = mysqli_prepare($dbc, $query);
mysqli_stmt_bind_param($stmt, "s", $location);
$results = mysqli_query($stmt);
$numListings = mysql_num_rows($results);
echo $numListings . " listing(s) found";
echo "<hr>";
if ($numListings == 0){
echo "Feel free to press the button above to post the first listing in " .
$location;
} else {
while($row = mysql_fetch_array($results)){
echo "Location: " . $location;
echo "<br />";
echo "Date: " . $row[date];
echo "<br />";
echo "Email address: " . $row[email_address];
echo "<br />";
if($row[phone_number] != NULL){
echo "Phone number: " . $row[phone_number];
echo "<br />";
}
echo $row[listing_content];
echo "<br />";
echo "<hr>";
}
}
mysqli_stmt_close($stmt);
mysqli_close($dbc);
}
?>
这是我得到的输出,按钮下面的所有内容&#34;制作新帖子&#34;由PHP生成:
它似乎在线echo $query;
之后的某个时刻崩溃了,因为它打印出来但在此之后它不会打印其他一些语句。无论是崩溃还是SQL查询都会以某种方式搞乱而不会崩溃或抛出错误。
这就是数据库的样子: