[英]mysqli_query is not displaying any results
我想從MySQL表中檢索與特定電子郵件匹配的數據。 該電子郵件有2條記錄,但我的屏幕上沒有打印任何內容。
<?php
$conn = mysqli_connect('localhost', 'root', '', 'testdrive');
$sql = mysqli_query($conn,
'SELECT * FROM products_bought
where email = "'.mysqli_real_escape_string($conn, "a@gmail.com").'"'
);
while($row = mysqli_fetch_array($sql)){
$fullname = $row['fullname'];
?>
<p><?php echo $fullname; ?></p>
<?php
}
?>
這里:
<p><?php $fullname; ?></p>
這實際上不是輸出值,您可以使用echo
輸出變量的值,也可以使用PHP短標簽,例如
<p><?= $fullname; ?></p>
或者使用回聲很長的路要走
<p><?php echo $fullname; ?></p>
要檢查您是否已連接到數據庫,請嘗試以下代碼並進行測試,還要檢查是否正在使用print_r
在mysqli_fetch_array($sql)
獲取數據。
<?php
$conn = mysqli_connect('localhost', 'root', '', 'testdrive');
if(mysqli_errno($conn))
{
echo"sum error";
}
else
{
$email = mysqli_real_escape_string($conn, "a@gmail.com");
$sql = mysqli_query($conn, 'SELECT * FROM products_bought where email = "'.$email.'"'
);
while($row = mysqli_fetch_array($sql)){
$fullname = $row['fullname'];
?>
<p><?php echo $fullname; ?></p>
<?php
}
}
?>
我不知道問題來自何處,但我想為您提供一些幫助:
<?php
$conn = mysqli_connect('localhost', 'root', '', 'testdrive');
$sql = mysqli_query($conn,'SELECT * FROM products_bought
where email = "'.mysqli_real_escape_string($conn, "a@gmail.com").'"');
if($sql->num_rows > 0){ // Check existence of the data that received
while($row = mysqli_fetch_array($sql)){
$fullname = $row['fullname'];
echo "<p>".$fullname."</p>"; // Why just echoing it in one <?PHP ?>
}
} else {
// If no data sent. then check your db, cause the problems was in your db
}
?>
選擇database
請嘗試
$conn = mysqli_connect('localhost', 'root', '');
$db = mysqli_select_db('testdrive');
一旦數據庫連接成功完成,請檢查?
mysqli_connect(DATABASE_HOST,DATABASE_USERNAME,DATABASE_PASSWORD,DATABASE_NAME)或die('無法與服務器連接。');
因為您編寫的查詢是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.