2016-10-01 3 views
0

Mysqli_query не работает внутри функции array_map. Мой код:mysqli_query не работает внутри функции array_map

define('DB_SERVER','localhost'); 
define('DB_USERNAME','xxx'); 
define('DB_PASSWORD','yyy'); 
define('DB_NAME','fff'); 

$conn = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_NAME); 

foreach($unique_array as $supplier) 
{ 
    $urep[]=$supplier['rep_name']; 
    $udate[]=$supplier['date']; 
$ucid[]=$supplier['cid']; 

$unique_arrayyy[] = array('rep_name'=>$supplier['rep_name'], 'date'=>$supplier['date']); 
} 

array_map(function ($var) { 
$fetch_gdd=mysqli_query($conn,"select * from grade"); 

echo mysqli_num_rows($fetch_gdd); exit; 

}, $unique_arrayyy); 

$ unique_arrayyy включает в себя многомерные значения массива. Я хочу запустить запрос внутри array_map fuction. Во время сбора строки он дал мне пустое окно. Пожалуйста помоги.

+0

Добавить 'error_reporting (E_ALL); ini_set ('display_errors', 1); 'поверх страницы сразу после объявления'

ответ

1

У вас нет соединения, доступного в рамках вашей анонимной функции, $conn не определено.

array_map(function ($var) use ($conn) { 
          ^^^^^^^^^^^ Make $conn available in the function 
    $fetch_gdd=mysqli_query($conn,"select * from grade"); 

    echo mysqli_num_rows($fetch_gdd); 
    // don't exit here 

}, $unique_arrayyy); 

Кроме того, обратите внимание, что вы, вероятно, не хотите, чтобы остановить скрипт в функцию, поэтому я удалил exit; заявление, а также.

Также обратите внимание, что я предполагаю, что это всего лишь пример кода; вы не используете $var внутри своей функции, и если вы выполняете один и тот же запрос каждый раз, вы не должны этого делать в функции array_map.

Смежные вопросы