2014-02-11 1 views
-2

내 코드를 표시 할 수 없습니다으로 하여금 : 지금까지PHP의 get_result()이 페이지는 여기

/* database connection tested and working*/ 

if (!($sql = $mysqli->prepare("SELECT username FROM users WHERE username=?"))) 
{ 
    echo "Prepare failed"; 
} 

if (!$sql->bind_param("i", `ryan`)) 
{ 
    echo "Binding parameters failed"; 
} 

if (!$sql->execute()) 
{ 
    echo "Execute failed"; 
} 

을, 모든 오류를 표시하지 않고, 나는 $sql 배열을 print_r 수 있습니다, 잘 작동합니다.

는 즉시 나는이 코드를 추가로 :

$result = $sql->get_result(); 

을 나는 "웹 ​​사이트 페이지를 표시 할 수 없습니다"라고 말하는 오류가 발생합니다. 나는 그것을 제거, 잘 작동합니다.

PS :이 오류보고에 대한 코드의 다음 줄을 추가 $sql

mysqli_stmt Object ([affected_rows] => -1 [insert_id] => 0 [num_rows] => 0 [param_count] => 1 [field_count] => 1 [errno] => 0 [error] => [error_list] => Array () [sqlstate] => 00000 [id] => 1) 

답변

0

시도 중 인쇄입니다. 문제에 대한 더 나은 설명을 얻을 수 있습니다. 설치 MySQLnd 경우

ini_set('display_errors',1); 
ini_set('display_startup_errors',1); 
error_reporting(-1); 
0

우선은 :

if (!$sql->bind_param("i", `ryan`)) 
{ 
    echo "Binding parameters failed"; 
} 

해야한다 :

if (!$sql->bind_param("s", 'ryan')) 
{ 
    echo "Binding parameters failed"; 
} 

당신은 ryan와 정수가 아닌 문자열입니다 i 포장 backtics ``했다.

-i corresponding variable has type integer 

-d corresponding variable has type double 

-s corresponding variable has type string 

-b corresponding variable is a blob and will be sent in packets