2012-12-20 32 views
5

thể trùng lặp:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in selectmysqli_select_db() dự kiến ​​tham số 1 được mysqli, dây được đưa

Tôi mới vào mysqli_ * và tôi đang nhận được các lỗi này:

Cảnh báo: mysqli_select_db() dự kiến ​​tham số 1 là mysqli, chuỗi được đưa ra trong D: \ Hosting \ 9864230 \ html \ include s \ connection.php trên đường dây 11

Cảnh báo: mysqli_error() dự đoán chính xác 1 tham số, 0 được đưa ra trong D: \ Hosting \ 9.864.230 \ html \ includes \ connection.php trên đường dây 13

Cơ sở dữ liệu lựa chọn thất bại:

<?php 
require("constants.php"); 

// 1. Create a database connection 
$connection = mysqli_connect(DB_SERVER,DB_USER,DB_PASS); 
if (!$connection) { 
    die("Database connection failed: " . mysqli_error()); 
} 

// 2. Select a database to use 
$db_select = mysqli_select_db(DB_NAME,$connection); 
if (!$db_select) { 
    die("Database selection failed: " . mysqli_error()); 
} 
?> 
+0

Bạn có thứ tự thông số sai, thiết lập '$ connection' trước khi' DB_NAME' tại cuộc gọi của bạn cho 'mysqli_select_db()'. Tôi không nghĩ rằng câu hỏi này cho thấy bất kỳ nỗ lực tìm kiếm ở tất cả, hãy thử google hoặc nhìn vào php.net thời gian tới. – Cyclonecode

+0

@Marc B - cùng một vấn đề cơ bản –

+1

@JohnConde, vấn đề thiếu kiểm tra lỗi. – Barmar

Trả lời

38

Đối số của bạn sai thứ tự. Kết nối đến trước theo docs

<?php 
require("constants.php"); 

// 1. Create a database connection 
$connection = mysqli_connect(DB_SERVER,DB_USER,DB_PASS); 
if (!$connection) { 
    die("Database connection failed: " . mysqli_error()); 
} 

// 2. Select a database to use 
$db_select = mysqli_select_db($connection, DB_NAME); 
if (!$db_select) { 
    die("Database selection failed: " . mysqli_error()); 
} 
?> 
1
// 2. Select a database to use 
$db_select = mysqli_select_db($connection, DB_NAME); 
if (!$db_select) { 
    die("Database selection failed: " . mysqli_error($connection)); 
} 

Bạn có thứ tự của các đối số cho mysqli_select_db() ngược. Và mysqli_error() yêu cầu bạn cung cấp đối số kết nối. mysqli_XXX không giống mysql_XXX, các đối số này không còn tùy chọn nữa.

Cũng lưu ý rằng với mysqli bạn có thể chỉ định DB trong mysqli_connect():

$connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME); 
if (!$connection) { 
    die("Database connection failed: " . mysqli_connect_error(); 
} 

Bạn phải sử dụng mysqli_connect_error(), không mysqli_error(), để có được những lỗi từ mysqli_connect(), vì sau này đòi hỏi bạn phải cung cấp một giá trị kết nối.

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