[英]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.