将数据库记录存储到数组中

15

我希望创建一个数组,用于存储使用SELECT语句从数据库检索的记录。

要检索的记录有多个字段,例如姓氏(lastname)、名字(firstname)、中间名(mi)以及其他20个字段。编写这个函数的最佳方法是什么?

好的,我已经遵循了下面囚犯给出的建议。那么我的下一个问题是,如何使用查询在这种类型的数组中进行搜索?例如,我想搜索某个用户名..


运行查询,然后使用:mysql_fetch_array()。 - user557846
4个回答

30
<?php

// run query
$query = mysql_query("SELECT * FROM table");

// set array
$array = array();

// look through query
while($row = mysql_fetch_assoc($query)){

  // add each row returned into an array
  $array[] = $row;

  // OR just echo the data:
  echo $row['username']; // etc

}

// debug:
print_r($array); // show all array data
echo $array[0]['username']; // print the first rows username

1
我该如何使用查询在这种类型的数组中进行搜索?例如,我想要搜索一个用户名。 - zerey
谢谢你的回答。它帮了我很多,解决了我的问题。 - Dinith Rukshan Kumara

4
你不应该遍历那个数组,而是使用数据库的能力来完成这个任务。
假设你正在通过GET表单传递用户名:
if (isset($_GET['search'])) {
  $search = mysql_real_escape_string($_GET['search']);
  $sql = "SELECT * FROM users WHERE username = '$search'";
  $res = mysql_query($sql) or trigger_error(mysql_error().$sql);
  $row = mysql_fetch_assoc($res);
  if ($row){
    print_r($row); //do whatever you want with found info
  }
}

2
$mysearch="Your Search Name";
$query = mysql_query("SELECT * FROM table");
$c=0;
// set array
$array = array();

// look through query
while($row = mysql_fetch_assoc($query)){

  // add each row returned into an array
  $array[] = $row;
  $c++;
}

for($i=0;$i=$c;$i++)
{
if($array[i]['username']==$mysearch)
{
// name found
}
}

0
$memberId =$_SESSION['TWILLO']['Id'];

    $QueryServer=mysql_query("select * from smtp_server where memberId='".$memberId."'");
    $data = array();
    while($ser=mysql_fetch_assoc($QueryServer))
    {

     $data[$ser['Id']] =array('ServerName','ServerPort','Server_limit','email','password','status');

    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接