错误:未选择数据库

时间:2015-05-31 17:04:39

标签: php mysql smarty3

我遇到了这个问题:没有选择数据库。我翻过这里发布的相同问题,但经过几个小时的阅读后,我无法弄清楚为什么没有选择数据库。我创建了一个数据库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);

?>

3 个答案:

答案 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);