2015-06-20 82 views
-1

我的代碼保持打印單詞「數組」,而不是數據庫信息。當我嘗試使用print_r()var_dump()它回聲所有有關陣列單詞「數組」打印,而不是數據庫信息

這與var_dump

陣列(1){[ 「團隊」] =>串(8) 「奧克維爾」}陣列的信息( 1){[「Team」] => string(8)「Brampton」} array(1){[「Team」] => string(7)「Toronto」} array(1){[「Team」] =>字符串(11)「米西索加」}

這裏是我的代碼

if(isset($_REQUEST['submit2'])){ 
$leaguename = $_POST['league']; 
$db_host = '**'; 
$db_user = '**'; 
$db_pwd = '**'; 
$database = '**'; 
$db = new mysqli($db_host, $db_user, $db_pwd, $database); 


$sql = "SELECT Team FROM Games WHERE League = '$leaguename' AND Team <> ''"; 

$result = mysqli_query($db, $sql) or die ("no query"); 

if (!$result) { 
    die('Invalid query: ' . mysqli_error()); 
} 

$array = array(); 
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){ 
    $array[] = $row; 
} 

$teamnumber=count($array); 
echo $teamnumber . "<br>"; 

foreach($array as $teams=>$team){ 
    var_dump($team); 
} 

我試圖打印運動隊的名字是正在從數據庫中提取並放入數組中。

+0

我看不出任何打印命令在那裏... – arkascha

+2

你不呼應陣列,您呼應從數組各個元素; 'foreach($ array作爲$ teams => $ team){0} {0} $ echo ['Team']; }' –

+0

您已開放給SQL注入。你正在使用mysqli,所以使用它的準備好的功能。 1. http://php.net/manual/en/mysqli.prepare.php 2. http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – chris85

回答

0

您的數組是一個多維數組,它是一個包含一個或多個數組的數組。

因此,您正在打印外部陣列var_dump()。您應該使用雙循環:

foreach($array as $teams){ 
    foreach($teams as $team){ 
     echo $team . "<br>"; 
    } 
}