我遇到了这个问题:没有选择数据库。我翻过这里发布的相同问题,但经过几个小时的阅读后,我无法弄清楚为什么没有选择数据库。我创建了一个数据库job
和一个表job
。我用WAMP服务器运行脚本。对“日常问题”感到抱歉。请帮忙!
<?php
// load Smarty library
require('C:/wamp/www/smarty-3.1.21/libs/Smarty.class.php');
$servername = "localhost";
$dbname = "job";
// Create connection
$conn = mysqli_connect($servername, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$smarty = new Smarty;
$smarty->setTemplateDir('C:\wamp\www\app\templates');
$smarty->setCompileDir('C:\wamp\www\app\templates_c');
$smarty->setConfigDir('C:\wamp\www\app\configs');
$smarty->setCacheDir('C:\wamp\www\app\cache');
$rows = array();
$sql = "SELECT * FROM job";
$result = mysqli_query($conn, $sql);
if (!$result) {
echo 'MySQL Error: ' . mysqli_error($conn);
exit;
}
while ($row = mysqli_fetch_assoc($result)) {
$rows[] = $row;
}
$smarty->assign('output', $rows);
$smarty->display('result.tpl');
mysqli_close($conn);
?>
答案 0 :(得分:13)
这些不是mysqli_connect
的正确参数。您必须传递主机,用户名,密码,然后传递数据库名称。您只传递主机和数据库名称,因此无法正确连接。
答案 1 :(得分:6)
mysqli_connect()
需要四个参数,分别为: -
host name, user name, password, database name (optional)
。
所以你需要提供所有这些参数。如果您没有,则无法连接,您将收到错误。
注意: - 数据库名称是可选的,您可以使用mysqli_select_db()
进一步选择数据库。
答案 2 :(得分:6)
你在mysqli_connect()函数中缺少一些参数,这是它应该是这样的:
$dbHost = '127.0.0.1';
$dbUser = 'username';
$dbPass = 'password';
$dbDb = 'database';
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbDb);