2015-05-31 13 views
6

Utknąłem z powodu problemu: Nie wybrano żadnej bazy danych. Przesyłam tutaj te same problemy, ale po godzinach czytania nie mogę się domyślić, dlaczego baza danych nie jest wybrana. Stworzyłem bazę danych job i tabelę job. Uruchomę skrypt na serwerze WAMP. Przepraszam za "codzienne pytanie". Proszę pomóż!error: Baza danych nie wybrano

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

Czy poświadczeń Database prawda? –

+0

To nie są właściwe parametry dla 'mysqli_connect'. Musisz przekazać host, nazwę użytkownika, hasło, a następnie nazwę bazy danych. –

+0

'mysqli_connect' wymaga hosta, a następnie nazwy użytkownika, hasła, a następnie nazwy bazy danych. Spróbuj przypisać to –

Odpowiedz

13

To nie są właściwe parametry do mysqli_connect. Musisz przekazać host, nazwę użytkownika, hasło, a następnie nazwę bazy danych. Przekazujesz tylko nazwę hosta i nazwę bazy danych, więc nie łączysz się poprawnie.

6

mysqli_connect() wymaga czterech parametrów, które są następujące: -

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

Musisz więc podać wszystkie te parametry. Jeśli tego nie zrobisz, nie będziesz mógł się połączyć, a otrzymasz błędy.

Uwaga: - Nazwa bazy danych jest opcjonalna, można użyć opcji mysqli_select_db() do wyboru bazy danych dalej.

6

Brakuje niektórych parametrów w swojej mysqli_connect function(), oto jak to ma być:

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

najbardziej kompletna, jasna odpowiedź z roboczym przykładem. – Znik