Функция в этом сообщении ВОЗВРАЩАЕТ большой массив из 1 строки запроса. Но результат обеспечивает более 1 строки. Я много искал, но я не нашел ответа на свой вопрос; Как получить ARRAY для оператора SELECT, вызванного подготовленным статусом?Как получить массив из нескольких строк из подготовленного оператора
Спасибо Avance
/************************************** ************************************************** ******************************************
3. Customer view ******************************************************************************************************************
***********************************************************************************************************************************/
function customer_view($user_name) {
global $mysqli;
$query_select = ("SELECT * FROM customers where user_name = ? ");
$stmt = $mysqli->prepare($query_select);
$stmt->bind_param("s", $user_name);
$stmt->execute();
$stmt->store_result();
$count = $stmt->num_rows();
$stmt->bind_result ($customer_number ,
$user_name ,
$customer_name ,
$customer_legal_sort ,
$customer_vat_applicable ,
$customer_payment_terms ,
$customer_contactperson ,
$customer_email ,
$customer_telphone ,
$customer_address_visit ,
$customer_number_visit ,
$customer_num_add_visit ,
$customer_postal_visit ,
$customer_city_visit ,
$customer_country_visit ,
$customer_visit_vs_post ,
$customer_address_post ,
$customer_number_post ,
$customer_num_add_post ,
$customer_postal_post ,
$customer_city_post ,
$customer_country_post );
$stmt->fetch();
$customer_data = array ('customer_number' =>$customer_number ,
'user_name' =>$user_name ,
'customer_name' =>$customer_name ,
'customer_legal_sort' =>$customer_legal_sort ,
'customer_vat_applicable'=>$customer_vat_applicable ,
'customer_payment_terms '=>$customer_payment_terms ,
'customer_contactperson' =>$customer_contactperson ,
'customer_email' =>$customer_email ,
'customer_telphone' =>$customer_telphone ,
'customer_address_visit' =>$customer_address_visit ,
'customer_number_visit' =>$customer_number_visit ,
'customer_num_add_visit' =>$customer_num_add_visit ,
'customer_postal_visit' =>$customer_postal_visit ,
'customer_city_visit' =>$customer_city_visit ,
'customer_country_visit' =>$customer_country_visit ,
'customer_visit_vs_post' =>$customer_visit_vs_post ,
'customer_address_post' =>$customer_address_post ,
'customer_number_post' =>$customer_number_post ,
'customer_num_add_post' =>$customer_num_add_post ,
'customer_postal_post' =>$customer_postal_post ,
'customer_city_post' =>$customer_city_post ,
'customer_country_post' =>$customer_country_post );
return $customer_data;
} //end of customer_view() function
Это потому, что вы получаете только 1 строку. Вы также должны прокручивать другие строки. Слишком устал писать любой код, так что не просто комментарий. –
# Давид: Обычный, это воскресный вечер (время в Амстердаме). У вас должно быть немного свободного времени, чтобы помочь этому начинающему студенту PHP немного дальше. Я обещаю, что цифровое пиво станет вашей наградой ;-) –
В приведенном выше выборе вы выбираете определенное имя пользователя. Уверены ли вы, что для этого совпадения возвращено несколько имен пользователей? Furthemore, вы бы использовали 'while ($ row = $ stmt-> fetch_assoc()) {// $ row теперь содержит каждую строку, возвращаемую из db}' вместо '$ stmt-> fetch();' – Ohgodwhy