【问题标题】:The word "array" prints instead of databse information打印单词“array”而不是数据库信息
【发布时间】:2015-09-06 11:55:48
【问题描述】:

我的代码一直打印单词“array”而不是数据库信息。当我尝试使用print_r()var_dump() 时,它会回显有关数组的所有信息

这是var_dump

array(1) { ["Team"]=> string(8) "Oakville" } array(1) { ["Team"]=> string(8) "Brampton" } array(1) { [" Team"]=> string(7) "Toronto" } array(1) { ["Team"]=> string(11) "Mississauga" }

这是我的代码

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);
}

我正在尝试打印从数据库中获取并放入数组的运动队的名称。

【问题讨论】:

  • 我无法在其中发现任何打印命令...
  • 您不回显数组,而是回显数组中的单个元素; foreach($array as $teams=&gt;$team){ echo $team['Team']; }
  • 您对 SQL 注入持开放态度。您正在使用 mysqli,因此请使用它准备好的功能。 1.php.net/manual/en/mysqli.prepare.php 2.stackoverflow.com/questions/60174/…
  • @MarkBaker OMG BLESS UR SOUL IT WORKED BLESS

标签: php mysql arrays database printing


【解决方案1】:

你的数组是一个多维数组,一个包含一个或多个数组的数组。

因此,您正在打印外部数组 var_dump()。你应该使用双循环:

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

【讨论】:

    猜你喜欢
    • 2011-09-17
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    相关资源
    最近更新 更多