2012-08-24 4 views
1

삽입 I는 mysqli과 PHP를 사용하여 데이터베이스에 데이터를 삽입하는 코드 아래의 구성을 갖는다. 치명적인 오류 : 문제는 내가라는 치명적인 오류가 발생하고 있다는 것이다 어떻게 오류를 해결할 수 있습니다 왜이 오류가 표시되고치명적인 오류

라인 (116)에의 ... 참조 매개 변수 2를 통과하지 수 있습니까?

if ($numrows == 0){ 

    $teacherpassword = md5(md5("j3Jf92".$teacherpassword."D203djS")); 
    $code = md5(rand()); 

    $insertsql = " 
    INSERT INTO Teacher 
     (TeacherId, TeacherForename, TeacherSurname, TeacherEmail, TeacherAlias, TeacherUsername, TeacherPassword, Active, Code) 
     VALUES 
     (?, ?, ?, ?, ?, ?, ?, ?, ?) 
    "; 
    if (!$insert = $mysqli->prepare($insertsql)) { 
     // Handle errors with prepare operation here 
    }           

    $insert->bind_param("sssssssss", '', $getfirstname, $getsurname, 
       $getemail, $getid, $getuser, 
       $teacherpassword, '0', $code); 

    $insert->execute(); 

    if ($insert->errno) { 
     // Handle query error here 
    } 

    $insert->close(); 
+0

'TeacherID'은 왜 완전히 제거? – andrewsi

답변

2

mysqli_stmt::bind_param()는 다음 인수의 유형을 자세히 하나의 문자열을 사용하고 데이터를 포함하는 변수에 대한 참조 세트 : 아래

는 코드입니다.

변수 만 참조로 전달 될 수 있으므로 함수에 문자열 ('' 또는 '0')을 전달할 수 없습니다. 해당 문자열을 변수에 넣은 다음 해당 변수를 전달해야합니다.

INSERT에 상수 값을 전달하는 경우 해당 필드의 값을 으로 설정 한 다음 쿼리에서 해당 필드를 제거하지 않습니까? 당신이 오직에 빈 문자열을 전달하는 경우