2015-05-31 17 views
6

Tôi bị kẹt với vấn đề này: Không có cơ sở dữ liệu nào được chọn. Tôi cuộn qua các vấn đề tương tự được đăng ở đây, nhưng sau nhiều giờ đọc tôi không thể tìm ra lý do tại sao cơ sở dữ liệu không được chọn. Tôi đã tạo một cơ sở dữ liệu job và một bảng job. Tôi chạy kịch bản với máy chủ WAMP. Xin lỗi về "câu hỏi hàng ngày". Hãy giúp tôi!lỗi: Cơ sở dữ liệu không được chọn

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

là Credentials Cơ sở dữ liệu của bạn phải không? –

+0

Đó không phải là thông số phù hợp với 'mysqli_connect'. Bạn phải vượt qua máy chủ, tên người dùng, mật khẩu và sau đó là tên cơ sở dữ liệu. –

+0

'mysqli_connect' yêu cầu máy chủ lưu trữ rồi tên người dùng, mật khẩu và sau đó là tên db. Hãy cố gắng chỉ định rằng –

Trả lời

13

Đó không phải là thông số phù hợp với mysqli_connect. Bạn phải vượt qua máy chủ, tên người dùng, mật khẩu và sau đó là tên cơ sở dữ liệu. Bạn chỉ chuyển qua máy chủ và tên cơ sở dữ liệu, vì vậy bạn không kết nối đúng.

6

mysqli_connect() đòi hỏi Bốn tham số, đó là: -

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

Vì vậy, bạn cần cung cấp tất cả các thông số này. Nếu không, bạn không thể kết nối và bạn sẽ gặp lỗi.

Lưu ý: - tên cơ sở dữ liệu là tùy chọn, bạn có thể sử dụng mysqli_select_db() để chọn thêm cơ sở dữ liệu.

6

Bạn đang thiếu một số thông số trong mysqli_connect của bạn() chức năng, đây là cách nó phải là:

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

câu trả lời hoàn chỉnh nhất, rõ ràng với ví dụ làm việc. – Znik

Các vấn đề liên quan