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

Posted

技术标签:

【中文标题】将数据库记录存储到数组中【英文标题】:Storing database records into array 【发布时间】:2011-07-19 00:09:30 【问题描述】:

我想创建一个数组来保存使用 SELECT 语句查询从数据库中检索到的记录。

要检索的记录有多个字段,例如姓氏、名字、mi 和 20 多个字段。编写此函数的最佳方法是什么?

好吧,我遵循了囚犯在下面给出的内容。下一个问题是我如何使用查询来搜索这种数组?例如我想搜索用户名..

【问题讨论】:

运行查询然后使用:mysql_fetch_array() 【参考方案1】:
<?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

【讨论】:

。如何使用查询搜索这种数组?例如我想搜索用户名.. 感谢您的回答。它对我有很大帮助。解决了我的问题。【参考方案2】:

您不应搜索该数组,而应为此使用数据库功能 假设您通过 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
  

【讨论】:

【参考方案3】:
$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


【讨论】:

【参考方案4】:
$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');

    

【讨论】:

以上是关于将数据库记录存储到数组中的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 python 将磁盘上的不连续数据映射到数组?

在java中如何把字节数组存储到数据库?

在firebase中存储空数组

在缓存iOS Swift中存储数据数组

使用 DataReader 将数据库多条记录存储到变量中

ExtJs 3.4:从网格中获取所有记录并将它们传递到 servlet