[英]Displaying specific row from INNER JOIN - mysqli
我正在嘗試顯示有關當前登錄用戶的信息。 問題是我需要的信息位於兩個differnet表中,因此我不得不使用INNER JOIN來顯示數據。
<?php
$email = $_SESSION['email'];
$sql_address =
"SELECT `customer`.`email`, `address`.`first_name`, `address`.`last_name`
FROM `customer` INNER JOIN address ON `customer`.`customer_ID`=`address`.`customer_ID WHERE email =". $email;
$result_address = $db->query($sql_address);
if(isset($_SESSION['email'])){
while($row = mysqli_fetch_array($result_address)){ ?>
<div class="col-sm-4 mb-20">
<div class="mb-20 mb-md-10">
<h3> CUSTOMER DETAILS</h3>
<p>Name: <?php echo $row['first_name']. " " .$row['last_name'];?><br/>
Email: <?php echo $row['email'];?>
</p>
</div>
</div>
<?php }?>
目前,我收到此錯誤:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\xamp\htdocs\exercises\website\shipment.php on line 149
你能告訴我哪里有問題嗎? 您還對如何提高安全性有任何建議嗎? 我猜想將$email
放入query
中可能不是最好的主意。
可能是您在sql語句中出錯,所以$ result_address為false。 $ email應該用單引號引起來,並且還要在`customer_ID中加上引號
試試這個查詢
SELECT `customer`.`email`, `address`.`first_name`, `address`.`last_name`
FROM `customer` INNER JOIN address ON `customer`.`customer_ID`=`address`.`customer_ID` WHERE email = '". $email . "'";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.