2011-09-30 2 views
8

내가 자습서를 따라하고, 질문에 대답하지 않는 튜토리얼 그러나 저자 기대 - 여기하지만 내 쿼리가경고 : mysqli_error()가 정확히 1 개 매개 변수, 0 주어진 오류가

나는 다음과 같은 오류 경고를 얻을 :

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

전체 코드가 포함 된 파일을 추적을 가지고

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); 

입니다 - mysqli_error()는 주어진 정확히 1 개 매개 변수, 0, 문제는 코드의 라인입니다 기대

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

감사

+0

설명서를 읽었지만 작동하지 않았습니다. –

+0

질문과 관련이없는 것 : "$ var"는 중복됩니다. 그냥 문자열을 열고 $ var를보고 문자열에 값을 넣은 다음 문자열에서 빠져 나옵니다. 즉, $ var를 사용할 수 있습니다. mysqli_connect ($ db_host, $ db_username ....)와 마찬가지로 – Corbin

+1

@ 코빈은 반드시 중복되는 것은 아닙니다. 일부 내장 함수는 받아 들일 수있는 타입에 대해 엄격하고,''$ var ''는 문자열이 아닌 변수를 함수로 전달하기위한 문자열 타입으로 강요합니다. 따라서'$ var = 0;',''$ var ''는''0''입니다. – eyelidlessness

답변

21

mysqli_error를() 당신을 필요로 라인을 보내고하는 매개 변수로 데이터베이스에 대한 연결을 전달합니다. 당신이 얻을 그 이유는,

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

+1 : D는 – Talisin

+0

안녕하세요, 답장을 보내 주셔서 감사합니다, 지금 나에게이 문제를주고있다 - 당신은 여전히 ​​내게 준 말을했다하지만 –

+0

"mysqli_error()는 매개 변수 1 mysqli있을 것으로 기대" 오류 그래서 나는 모든 mysqli를 mysql로 ​​바꿨고 지금은 완벽하게 작동한다! –

4

mysqli_error 기능은 매개 변수로 $myConnection가 필요합니다

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

지금처럼 문제 라인을 변경 시도하고 당신이 좋은 모양에 있어야 : 문서는 여기에 몇 가지 유용한 예제를 가지고 경고

1

처음에 문제는 mysqli_error에 대한 매개 변수를 입력하지 않았기 때문입니다. 나는 그것이 여기의 포스트에 기초하여 해결되었다는 것을 알 수있다. 아마도 다음 문제는 포함 된 파일의 잘못된 파일 경로 때문일 수 있습니다.

당신은 확실히 '스크립트'폴더에

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

는이 코드이며, 주요 코드 파일은 스크립트 폴더와 같은 수준에?

관련 문제