[英]Why is this php and MySQL not displaying results
我目前正在尝试连接到数据库,并在表“ STUDENTS”中显示所有学生的名字。 我的连接似乎很好,因为ping()似乎正常。 我没有收到任何错误消息,但是查询/显示结果似乎不起作用。 谁能帮我解决这个问题?
<?php
$user = 'root';
$password = 'root';
$db = 'gradebook';
$host = 'localhost';
$port = 8889;
$link = mysqli_init();
$connection = mysqli_real_connect($link, $host, $user, $password, $db, $port)
or die("Cannot connect to database server.");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* check if server is alive */
if (mysqli_ping($link)) {
printf ("Our connection is ok!\n </br>");
} else {
printf ("Error: %s\n", mysqli_error($link));
}
$query = "SELECT * FROM STUDENTS";
$statement = $connection->prepare($query);
$statement->execute();
$statement->bind_result($First_name);
while ($statement->fetch()) {
print $First_name . '</br>';
}
mysqli_close($link);
?>
请先打开错误报告。
然后-仔细阅读mysqli-manuals。
$link = mysqli_init();
返回对象。 mysqli_real_connect
返回bool 。
而且您正在尝试对bool变量执行prepare
方法:
$statement = $connection->prepare($query);
当然,这是行不通的。 如果你有错误报告on
-你会看到相关的错误信息。 因此,假设其他一切都很好:
$statement = $link->prepare($query); // NOT $connection
$statement->execute();
$statement->bind_result($First_name);
while ($statement->fetch()) {
print $First_name . '</br>';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.