试图用PHP查询MySQL数据库。可以出于某种原因INSERT而不是SELECT

时间:2018-02-24 22:36:18

标签: php mysql

编辑:已解决。感谢评论中的人建议打开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生成:

Screenshot of browser window

它似乎在线echo $query;之后的某个时刻崩溃了,因为它打印出来但在此之后它不会打印其他一些语句。无论是崩溃还是SQL查询都会以某种方式搞乱而不会崩溃或抛出错误。

这就是数据库的样子:

Screenshot of management panel

0 个答案:

没有答案