使用搜索词PHP从MySQL绘图。我不知道出了什么问题

时间:2016-07-05 06:25:54

标签: php mysql

我遇到了一些问题。我试图使用PHP和搜索词从MySQL中提取数据。但是,我似乎无法弄清楚为什么我的代码返回错误。

我不断得到的错误是:

  

尝试获取非对象的属性。第40行

据我所知,这意味着我正在调用一个变量,该变量是A.必须不存在或B.没有值/ s。我可能犯了一些愚蠢的错误但有人知道为什么我的代码不起作用吗?

<!DOCTYPE html>
    <html lang="en">
        <?php
            $boxnumber = $_POST['boxnumber'];
            if (is_numeric($boxnumber)) {

            }
            else {
            echo 'Please only input numbers';
            }

            $servername = "localhost";
            $username = "root";
            $password = "";
            $dbname = "testing";

            $conn = new mysqli($servername, $username, $password, $dbname);

            if ($conn->connect_error) {
                die("Connection Failed: " . $conn->connect_error);
            }

            $query_boxinfo = 'SELECT box_number, client_number, client_code, tax_year, status FROM testing_table WHERE box_number=$boxnumber';
            $boxinfo_result = $conn->query($query_boxinfo);
            ?>
        <head>
            <meta charset="UTF-8">
            <title>Box <?php echo $boxnumber; ?> Details</title>
        </head>
        <body>
        <table>
            <tr>
                <td>Box Number</td>
                <td>Client Code</td>
                <td>Client Name</td>
                <td>Tax Year</td>
                <td>Status</td>
            </tr>
            <?php 
                if ($boxinfo_result->num_rows > 0) {
                    while  ($row = $boxinfo_result->fetch_assoc()) {
                        echo '<tr>';
                            echo '<td>';
                                echo $boxnumber;
                            echo '</td>';
                            echo '<td>';
                                echo $row["client_code"];
                            echo '</td>';
                            echo '<td>';
                                echo $row["client_name"];
                            echo '</td>';
                            echo '<td>';
                                echo $row["tax_year"];
                            echo '</td>';
                            echo '<td>';
                                echo $row["status"];
                            echo '</td>';
                         echo '</tr>';
                     }
                 }
                 else {
                     echo '<span style="color:red">Unknown error. No Results found. Please contact your System Administrator or Workplace Head.</span>';
                 }
             ?>
         </table>
     </body>
 </html>

1 个答案:

答案 0 :(得分:0)

Erik说的是对的,我们不能在单引号之间使用变量。 查询语句需要用双引号。

$ boxinfo_result在此为空,因此您收到该错误。

很抱歉看到你的评论稍后,我无法发表评论。 这将解决 $ boxinfo_result-&gt; fetch_array(MYSQLI_ASSOC)代替$ boxinfo_result-&gt; fetch_assoc()