PHP mysqli Fatal error: Call to a member function

2019-03-01 02:28发布

问题:

Quick question. Why does this error occur? I can't find a type or anything. (my code is a bit messy though)

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

Thanks!

回答1:

mysqli_prepare() returns a statement object or FALSE if an error occurred. Seems that prepare failed and assigned a boolean to $stmt. I speculate that prepare failed because $query_insert_trade isn't defined. You probably mean

$stmt = $db->prepare($query_insert_items);


标签: php mysqli