2015-05-31 107 views
6

我遇到了這個問題:沒有選擇數據庫。我翻閱了這裏發佈的相同問題,但經過幾個小時的閱讀,我無法弄清楚爲什麼數據庫沒有被選中。我創建了一個數據庫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

是您的數據庫憑據嗎? –

+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