2012-12-06 7 views
1

아래 준비 문은 5 개의 변수가 있습니다.PHP Mysqli bind_result는 준비 삽입 문 중에 경고를 발생시킵니다.

INSERT INTO folder (folder_name, folder_parent_id, folder_user_id, folder_order, hk_created) VALUES (?,?,?,?,?);

나는 분명히이 사실이지만 내가 $_STATEMENT->bind_result($_RESULT);

Warning: mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement

를 호출 할 때이 경고를 받고 있어요 (5 개 변수는 1 개 결과 변수) 실행되는 INSERT 문은 (true를 반환 성공) 또는 거짓 (실패). 단지 누락 된 것이있는 경우를 대비하여 bind_result()에 5 개의 변수를 제공하려고 시도했지만 여전히 동일한 메시지가 표시됩니다.

삽입 쿼리가 성공적으로 실행됩니다. 방금 경고를 @ 억제하고 PHP의 버크 또는 버그 (때로는 차이가 있을지 모르겠다)로이 문제를 해결해야합니까, 아니면 제가 누락 된 것이 있습니까? 편집

내가 당신이 INSERT 쿼리 bind_result를 사용할 수 없습니다

+1

'INSERT 문은 실행될 때만 true 또는 false를 반환합니다 .' 예. 바인딩 할 결과가 없습니다. INSERT에는 "결과"가 없습니다. –

답변

2

) (bind_result 5 개 변수를 제공하려고 반영합니다. 결과가 없습니다.

$_STATEMENT->execute()TRUE 또는 FALSE을 반환합니다. 삽입 된 행의 수를 보려면 $_STATEMENT->affected_rows을 사용하십시오.

+0

그게 훨씬 더 의미가 있습니다, 감사합니다! 나는 진정한 거짓을 얻으려면 bind 할 필요가 있다고 생각했지만 execute()와 똑같은 true/false가 될 것이라고 생각한다. – runspired

+0

환영 :-) –

+0

예,'bind_result'는 쿼리에서 반환 된 필드를위한 것입니다. . 'SELECT'만이 "result"를가집니다 : -P –