【问题标题】:Fetching from mysql and storing in an array in php?从mysql中获取并存储在php中的数组中?
【发布时间】:2014-09-28 22:52:59
【问题描述】:
$query= "Select * from std";
                $res= mysqli_query($con, $query);
                $idArray=array();
                $i=0;
                while ($row = mysqli_fetch_array($res)) {
                    $idArray[$i]=htmlentities($row["id"]);
                    $i++;
                }
                for($j=0;$j<=$i;$j++){
                    echo $idArray[j]."asd<br>";  
                }

在输出中它只显示“asd”5 次,因为我有 5 条记录,但我没有显示这些记录的 id, 提前谢谢,

【问题讨论】:

  • $query= "Select id from std";....想得更聪明...
  • 它会返回一个数组吗?
  • 是的,它还会返回一个数组,但只包含id字段...

标签: php html mysql arrays database


【解决方案1】:

您在回显行上缺少一个美元符号:

echo $idArray[j]."asd<br>"; 

应该是

echo $idArray[$j]."asd<br>";

【讨论】:

  • 谢谢,非常尊重,其实我已经从 java 切换到 php,$$$ 很烦我,,:),
【解决方案2】:

试试这个

$query= "Select * from std";
$res= mysqli_query($con, $query);
$idArray=array();

while ($row = mysqli_fetch_array($res)) {
    $idArray[] =htmlentities($row["id"]);
}

for($j=0;$j<sizeof($idArray);$j++){
    echo $idArray[$j]."asd<br>";  
}

【讨论】:

    【解决方案3】:

    你必须得到$idArray中的count并将它传递给for循环

    for($j=0;$j<count($idArray);$j++){
        echo $idArray[$j]."asd<br>";  
    }
    

    但是为什么你使用不同的for循环......你可以在while循环中回显。

    【讨论】:

      【解决方案4】:
      <?php 
      $db = mysql_connect('localhost','root','');
      
      mysql_select_db('test_db',$db); 
      
      $data = array();
      
      $query = mysql_query("SELECT * FROM test_table"); 
      
      while($row = mysql_fetch_object($query) ) {
      
         $data[] = $row; 
      
      }
      
      print_r($data);
      
      ?>
      

      示例取自: http://arjun.net.in/displaying-mysql-table-records-in-unordered-list-format-using-php/

      【讨论】:

      • 试着理解问题...这符合要求吗?
      猜你喜欢
      • 1970-01-01
      • 2015-03-06
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多