Я получаю следующую ошибку, но я пересчитывал все снова и снова, и все выглядит нормально. У кого-нибудь есть идеи?
Ошибка:
Предупреждение : mysqli_stmt :: bind_param () [mysqli-stmt.bind-param]: количество переменных не соответствует количеству параметров в подготовленном сообщении в /home/ambnews/public_html/invoice/response.php в строке 204
Код:
// invoice customer information // billing $customer_name = $mysqli->real_escape_string($_POST['customer_name']); // customer name $customer_email = $mysqli->real_escape_string($_POST['customer_email']); // customer email $customer_address_1 = $mysqli->real_escape_string($_POST['customer_address_1']); // customer address $customer_address_2 = $mysqli->real_escape_string($_POST['customer_address_2']); // customer address $customer_town = $mysqli->real_escape_string($_POST['customer_town']); // customer town $customer_county = $mysqli->real_escape_string($_POST['customer_county']); // customer county $customer_postcode = $mysqli->real_escape_string($_POST['customer_postcode']); // customer postcode $customer_phone = $mysqli->real_escape_string($_POST['customer_phone']); // customer phone number //shipping $customer_name_ship = $mysqli->real_escape_string($_POST['customer_name_ship']); // customer name (shipping) $customer_address_1_ship = $mysqli->real_escape_string($_POST['customer_address_1_ship']); // customer address (shipping) $customer_address_2_ship = $mysqli->real_escape_string($_POST['customer_address_2_ship']); // customer address (shipping) $customer_town_ship = $mysqli->real_escape_string($_POST['customer_town_ship']); // customer town (shipping) $customer_county_ship = $mysqli->real_escape_string($_POST['customer_county_ship']); // customer county (shipping) $customer_postcode_ship = $mysqli->real_escape_string($_POST['customer_postcode_ship']); // customer postcode (shipping) $query = "INSERT INTO store_customers ( name, email, address_1, address_2, town, county, postcode, phone, name_ship, address_1_ship, address_2_ship, town_ship, county_ship, postcode_ship ) VALUES ( '".$customer_name."', '".$customer_email."', '".$customer_address_1."', '".$customer_address_2."', '".$customer_town."', '".$customer_county."', '".$customer_postcode."', '".$customer_phone."', '".$customer_name_ship."', '".$customer_address_1_ship."', '".$customer_address_2_ship."', '".$customer_town_ship."', '".$customer_county_ship."', '".$customer_postcode_ship."' ); "; /* Prepare statement */ $stmt = $mysqli->prepare($query); if($stmt === false) { trigger_error('Wrong SQL: ' . $query . ' Error: ' . $mysqli->error, E_USER_ERROR); } print_r($stmt->bind_param( 'sssssssissssss', $customer_name,$customer_email,$customer_address_1,$customer_address_2,$customer_town,$customer_county,$customer_postcode, $customer_phone,$customer_name_ship,$customer_address_1_ship,$customer_address_2_ship,$customer_town_ship,$customer_county_ship,$customer_postcode_ship)); /* Bind parameters. TYpes: s = string, i = integer, d = double, b = blob */ $stmt->bind_param( 'sssssssissssss', $customer_name,$customer_email,$customer_address_1,$customer_address_2,$customer_town,$customer_county,$customer_postcode, $customer_phone,$customer_name_ship,$customer_address_1_ship,$customer_address_2_ship,$customer_town_ship,$customer_county_ship,$customer_postcode_ship); /* Execute statement */ $stmt->execute(); if($stmt->execute()){ //if saving success echo json_encode(array( 'status' => 'Success', 'message' => 'Customer has been created successfully!' )); } else { // if unable to create invoice echo json_encode(array( 'status' => 'Error', 'message' => 'There has been an error, please try again.' // debug //'message' => 'There has been an error, please try again.<pre>'.$mysqli->error.'</pre><pre>'.$query.'</pre>' )); } //close database connection $mysqli->close();