【问题标题】:How to I add values taken from database with a while loop into an array?如何将带有while循环的数据库中的值添加到数组中?
【发布时间】:2013-01-13 10:22:48
【问题描述】:

附加信息 1) 我有多个记录(姓名、年龄、性别),((约翰,10 岁,男),(莎莉,9 岁,女),(杰克,12 岁,男))。

2) 所有这些记录都在数据库中。

3) 我想通过 while 循环将这些记录自动添加到数组中。

我尝试用这些问题提交我的代码,但它提示它的格式不正确。请帮忙。如果需要,欢迎您提供更多信息。

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    试试:

    foreach ($con->query("SELECT * FROM table") as $row){
        $arr[] = array(
            "name" => $row['name'],
            "age" => $row['age'],
            "gender" => $row['gender']
        );
    }
    

    $con 是您的连接,table 是您的表名...

    那么如果你var_dump$arr 你会看到类似这样的数组结构 =>

    array (size=n) // n number of array in $arr
      0 => 
        array (size=3)
          'name' => string 'John' (length=7)
          'age' => string '10' (length=2)
          'gender' => string 'Male' (length=4)
      1 => 
        array (size=3)
          'name' => string 'Sally' (length=7)
          'age' => string '10' (length=2)
          'gender' => string 'Female' (length=4)
      2 => 
        array (size=3)
          'name' => string 'Other' (length=7)
          'age' => string '10' (length=2)
          'gender' => string 'Male' (length=4)
      // etc ...
    

    【讨论】:

    • 如果我有一个 WHERE 子句,它是什么样子的?例如,我尝试添加 WHERE age = '9' 但是当我 var_dump arr 时,每条记录仍然出现。接下来,我的字符串全部为NULL,["class_id"]=> NULL ["student_id"]=> NULL ["result_marks"]=> NULL
    • @user1436885 如果你写WHERE age=9,所有记录(年龄等于9)都会返回。并且请更仔细地写下一个问题...
    • @user1436885 如果你的 age 列类型是 INT 你不能使用 '' ,否则如果你有类型 VARCHAR 你必须
    猜你喜欢
    • 1970-01-01
    • 2012-04-15
    • 2020-08-24
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 2013-07-29
    • 1970-01-01
    相关资源
    最近更新 更多