2015-06-20 83 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>"; 
    } 
}