2015-01-15 3 views
1

빠른 질문. 이 오류가 발생하는 이유는 무엇입니까? 나는 타입이나 아무것도 찾을 수 없습니다. (내 코드는 약간 지저분합니다.)PHP mysqli 치명적 오류 : boolean에 멤버 함수 execute()를 호출

//Where i fill the names for the dropdown boxes 
<select name="user_item_1_'.$user_item_box_id.'"> 
<select name="user_item_2_'.$user_item_box_id2.'"> 

//Fill the variables with the names 
$trade_item_id_1_1 = $_POST['user_item_1_1']; 
$trade_item_id_1_2 = $_POST['user_item_1_2']; 
$trade_item_id_1_3 = $_POST['user_item_1_3']; 
$trade_item_id_1_4 = $_POST['user_item_1_4']; 

$trade_item_id_2_1 = $_POST['user_item_2_1']; 
$trade_item_id_2_2 = $_POST['user_item_2_2']; 
$trade_item_id_2_3 = $_POST['user_item_2_3']; 
$trade_item_id_2_4 = $_POST['user_item_2_4']; 

//Query 
$query_insert_items = "INSERT INTO trade_item (item_id_1_1, item_id_1_2, item_id_1_3, item_id_1_4, item_id_2_1, item_id_2_2, item_id_2_3, item_id_2_4) VALUES (?,?,?,?,?,?,?,?)"; 
$stmt = $db->prepare($query_insert_trade); 
$stmt->bind_param("iiiiiiii", $trade_item_id_1_1, $trade_item_id_1_2, $trade_item_id_1_3, $trade_item_id_1_4, $trade_item_id_2_1, $trade_item_id_2_2, $trade_item_id_2_3, $trade_item_id_2_4); 
$stmt->execute(); 

고마워요!

+0

더 알려 줄 수 있습니까? 오류의 원인은 무엇입니까? 오류가 발생한 줄의 줄 번호가 있습니까? 이 코드로 무엇을하려고합니까? 어떤 연구가이 오류 (예 : Google)에 대해 수행했으며 결과가 만족스럽지 않은 이유는 무엇입니까? (주석으로 답장을 보내지 마십시오 - 질문을 수정하고 거기에이 모든 정보를 추가하십시오) –

+1

처음에는'$ query_insert_items' 변수에 쿼리를 넣은 다음'$ query_insert_trade'를'prepare ()'함수를 호출합니다. –

+0

관련이 없지만 SQL 주입에 대해 경고하지 않아도되는 드문 PHP 데이터베이스 질문을 게시 해 주셔서 감사합니다. – Amadan

답변

2

mysqli_prepare()은 명령문 오브젝트를 리턴하고 오류가 _ 생하면 FALSE를 리턴합니다. 준비가 실패한 것으로 보이고 부울을 $stmt으로 지정했습니다. 나는 $query_insert_trade이 정의되지 않았기 때문에 준비가 실패한 것으로 추측한다. 아마

$stmt = $db->prepare($query_insert_items); 
관련 문제