我试图从我的localhost MySQL数据库返回一些数据,遵循示例1 on this page。
数据库和表都存在,当我使用PhpMyAdmin运行查询时,我得到了5个成功返回的结果。
我的页面名为 test.php ,每当我访问该页面时,我只能看到“已连接”这个词。
我的代码如下;
// Create connection
$conn = new mysqli('localhost', 'user', 'password', 'database');
// Check connection
if ($conn->connect_errno > 0) {
die('Unable to connect to database [' . $conn->connect_error . ']');
} else {
echo "connected </br>";
}
/* prepare statement */
if ($stmt = $conn->prepare("SELECT Status FROM hostloadslog LIMIT 5")) {
$stmt->execute();
/* bind variables to prepared statement */
$stmt->bind_result($col1);
/* fetch values */
while ($stmt->fetch()) {
printf("%s %s\n", $col1);
}
/* close statement */
$stmt->close();
}
任何帮助或建议都将不胜感激。
答案 0 :(得分:1)
基本上,问题是使用printf
:
printf("%s %s\n", $col1);
失败,因为您使用了2个占位符,但只传递了一个字符串。将其更改为
echo $col1 . PHP_EOL;
//or
printf("%s\n", $col1);
要更轻松地调试此类代码,您可以将error_reporting
设置为-1(或将ini文件设置为E_STRICT|E_ALL
),并将display_errors
设置为on
。