2015-05-31 6 views
6

Я застрял в этой проблеме: База данных не выбрана. Я просматриваю те же проблемы, что и здесь, но после нескольких часов чтения я не могу понять, почему база данных не выбрана. Я создал базу данных job и таблицу job. Я запускаю скрипт с WAMP-сервером. Извините за «повседневный вопрос». Пожалуйста помоги!error: База данных не выбрана

<?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

Является ли ваша база данных учетных данных правильно? –

+0

Это не правильные параметры 'mysqli_connect'. Вы должны передать хост, имя пользователя, пароль, а затем имя базы данных. –

+0

'mysqli_connect' требует имя хоста, а затем имя пользователя, пароль, а затем имя db. Попробуйте назначить это –

ответ

13

Это неправильные параметры для mysqli_connect. Вы должны передать хост, имя пользователя, пароль, а затем имя базы данных. Вы передаете только имя хоста и базы данных, поэтому вы неправильно подключаетесь.

6

mysqli_connect() требует четыре параметра, которые являются: -

host name, user name, password, database name (optional).

Таким образом, вам необходимо предоставить все эти параметры. Если вы этого не сделаете, вы не сможете подключиться, и вы получите ошибки.

Примечание: - имя базы данных не обязательно, вы можете использовать mysqli_select_db() для выбора базы данных.

6

Вы отсутствуют некоторые параметры в вашей mysqli_connect функция(), вот как это должно быть:

$dbHost = '127.0.0.1'; 
$dbUser = 'username'; 
$dbPass = 'password'; 
$dbDb = 'database'; 
$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbDb); 
+0

самый полный, ясный ответ с рабочим примером. – Znik

Смежные вопросы