簡體   English   中英

PHP Mysqli代碼未顯示查詢結果

[英]PHP Mysqli code not displaying query results

我想從查詢結果中輸出數據。 該查詢在另一個PHP頁面中使用了print_r(json_encode($regions)) ,但未輸出任何內容。 我在php中沒有錯誤,我在mysqli代碼中做錯了什么嗎?

//connecting to database
    <?php
    require_once('DbConnection.php');   
    //querying the database 
    $region_id = isset( $_GET['region_id'] )? $_GET['region_id']: false;
    $sql=mysqli_query($connection,"SELECT sales.region_id, sales.image_name,                 sales.price, sales.location, sales.Terms, sales.Contacts
    FROM sales INNER JOIN region ON sales.region_id=region.region_id  where region_id = $region_id") or die(mysqli_error($connection));
    $result = mysqli_query($connection,"SELECT sales.region_id, sales.image_name, sales.price, sales.location, sales.Terms, sales.Contacts FROM sales INNER JOIN region ON sales.region_id=region.region_id  where region_id = $region_id");             
    while ($row = mysql_fetch_assoc($sql)) {
             ?>
    <div class="col-md-4">
    <div class="thumbnail">
    <a href="<?php echo "http://" . $_SERVER['SERVER_NAME'] ?>/photo/imageuploads/<?php echo $row["image_name"]; ?>">
    <img src="<?php echo "http://" . $_SERVER['SERVER_NAME'] ?>/photo/imageuploads/<?php echo $row["image_name"]; ?>" alt="Lights" style="width:100%">
    <div class="caption">
    Image Name:<?php echo $row["image_name"]; ?>
    Price:<?php echo $row["price"]; ?>
    Location`enter code here`:<?php echo $row["location"]; ?>
    Terms:<?php echo $row["Terms"]; ?>
    Contacts:<?php echo $row["Contacts"]; ?>
    </div>
     </a>
    </div>
    </div>
    <?php
    }
    ?>

在您的SQL中,where子句引用region_id,在這種情況下,它是在兩個表(sales和region)中定義的,如果您需要這兩個表,則需要限定要使用哪個表中的region_id

$sql=mysqli_query($connection,"SELECT sales.region_id, sales.image_name, 
                                sales.price, sales.location, sales.Terms, sales.Contacts
                   FROM sales     
                   INNER JOIN region ON sales.region_id=region.region_id  
                   where region.region_id = $region_id") or die(mysqli_error($connection));

但是由於您不使用結果中來自區域的任何列,因此可以刪除連接...

$sql=mysqli_query($connection,"SELECT sales.region_id, sales.image_name, 
                                sales.price, sales.location, sales.Terms, sales.Contacts
                   FROM sales   
                   where region_id = $region_id") or die(mysqli_error($connection));

同樣如Barmar所說,請刪除查詢的第二次執行,否則可能會失敗並停止腳本。

同樣在檢查$_GET['region_id'] ,這應該是更多的情況,如果未設置則什么也不做。 僅將其設置為false會引起更多問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM