我正在尝试编写一个非常简单的“Hello World!”程序使用PHP和MySQL。
在我添加行之前一切正常,“$ rs = $ db-> query($ sql);”然后我得到一个空白的屏幕。
我做错了什么? 谢谢!
<?
$user = 'root';
$password = 'root';
$database = 'grc';
$host = 'localhost';
$port = 3306;
$link = mysqli_init();
$db = mysqli_real_connect($link, $host, $user, $password, $database, $port);
if (mysqli_connect_errno()) {
die('Failed to connect to MySQL: ' . mysqli_connect_error());
}
printf('asdf\n\n');
$sql = 'SELECT productname FROM product WHERE productid=1';
$rs = $db->query($sql);
if (!$rs) {
printf("%s\n", $db->error);
exit();
}
printf('1sdfasdf');
?>
<html>
<head>Hello world!</head>
<body>Hello WORLD!!</body>
</html>
答案 0 :(得分:0)
我明白了。
首先,通过编辑php.ini来打开错误。
其次,出现的错误是: &#34;致命错误:在布尔值&#34;
上调用成员函数query()这是因为这一行:
$db = mysqli_real_connect($link, $host, $user, $password, $database, $port);
将$ db变为true / false。
第三,我用这个替换了代码:
$user = 'root';
$password = 'root';
$database = 'grc';
$host = 'localhost';
$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_error) {
die('Failed to connect to MySQL: ' . $conn->connect_error);
}
$sql = 'SELECT productname FROM grc.product WHERE productid=1';
$rs = $conn->query($sql);
if ($rs->num_rows > 0) {
while ($row=$rs->fetch_assoc()) {
echo "productname: " . $row["productname"] . "<br />";
}
} else {
echo "Zero results.";
}
$conn->close();
它有效。
没有使用mysqli_real_connect()或其他一些最新的方法,但是它有效,我使用的是面向对象的mysqli,这对我来说已经足够了。
感谢大家的回复。