2016-10-01 134 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函數中運行查詢。在獲取行時,它給了我一個空白窗口。請幫忙。

+0

添加'error_reporting(E_ALL); ini_set('display_errors',1);'在<?php'廣告之後的頁面頂部也會改變爲: - '$ fetch_gdd = mysqli_query($ conn,「select * from grade」)或者死亡(mysqli_error($ conn ));' –

回答

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函數中執行此操作。