2011-09-30 112 views
8

tôi đang theo một hướng dẫn, tuy nhiên tác giả của hướng dẫn không trả lời câu hỏi - nhưng đây là câu hỏi của tôiCảnh báo: mysqli_error() dự đoán chính xác 1 tham số, 0 lỗi cho

tôi nhận được cảnh báo lỗi sau: mysqli_error() dự đoán chính xác 1 tham số, 0 nhất định, vấn đề là với dòng này của mã -

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 

toàn bộ code đang

session_start(); 

require_once "scripts/connect_to_mysql2.php"; 

//Build Main Navigation menu and gather page data here 

$sqlCommand = "SELECT id, linklabel FROM pages ORDER BY pageorder ASC"; 

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 

$menuDisplay = ''; 
while ($row = mysqli_fetch_array($query)) { 
    $pid = $row["id"]; 
    $linklabel = $row["linklabel"]; 

    $menuDisplay .= '<a href="index.php?pid=' . $pid . '">' . $linklabel . '</a><br />'; 

} 
mysqli_free_result($query); 

các tập tin bao gồm có sau ing dòng

$myConnection = mysqli_connect("$db_host","$db_username","$db_pass","$db_name") or die ("could not connect to mysql"); with reference to $myConnection, why do I get this error? 

Cảm ơn

+0

Tôi đã đọc tài liệu và tài liệu không hoạt động. –

+0

Một cái gì đó không liên quan đến câu hỏi: "$ var" là dư thừa. Điều đó chỉ mở một chuỗi, thấy $ var, đặt giá trị của nó vào chuỗi và sau đó thả ra khỏi chuỗi. Nói cách khác, bạn chỉ có thể sử dụng $ var. Giống như mysqli_connect ($ db_host, $ db_username ....) – Corbin

+1

@Corbin, nó không nhất thiết phải thừa. Một số hàm dựng sẵn rất nghiêm ngặt về các kiểu mà chúng chấp nhận và '" $ var "' sẽ ép buộc một biến không phải chuỗi thành một kiểu chuỗi để chuyển tới hàm. Vì vậy, nếu '$ var = 0;', '" $ var "' là '" 0 "'. – eyelidlessness

Trả lời

21

mysqli_error() cần bạn để vượt qua các kết nối cơ sở dữ liệu như một tham số. Tài liệu ở đây có một số ví dụ hữu ích:

http://php.net/manual/en/mysqli.error.php

Hãy thử thay đổi dòng vấn đề của bạn như vậy và bạn phải ở trong tình trạng tốt:

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error($myConnection)); 
+0

+1 cho liên kết thủ công: D – Talisin

+0

Xin chào, cảm ơn bạn đã trả lời, nó hiện đang cho tôi vấn đề này - "mysqli_error() hy vọng tham số 1 là mysqli" –

+0

Mặc dù tôi đã làm những gì bạn nói nó vẫn cho tôi lỗi vì vậy tôi đã thay đổi tất cả mysqli thành mysql và nó hoạt động hoàn hảo ngay bây giờ! –

4

mysqli_error chức năng đòi hỏi $myConnection như thông số, đó là lý do tại sao bạn nhận được cảnh báo

1

Lúc đầu, vấn đề là do bạn không đặt bất kỳ thông số nào cho mysqli_error. Tôi có thể thấy rằng nó đã được giải quyết dựa trên bài đăng ở đây. Hầu hết có thể, vấn đề tiếp theo là do đường dẫn tệp sai cho tệp được bao gồm ...

Bạn có chắc chắn mã này

$myConnection = mysqli_connect("$db_host","$db_username","$db_pass","$db_name") or die ("could not connect to mysql"); 

là trong thư mục 'kịch bản' và tập tin mã chính của bạn là ở cấp độ tương tự như thư mục kịch bản?

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