如何将SQL调用的结果存储在php数组

时间:2016-01-06 03:46:30

标签: php mysql arrays loops while-loop

我一直在努力为网站创建一个注册表单,并且我一直在努力检查用户的用户名是否曾被过去注册该网站的其他人使用过。我正在使用Mysql数据库来存储信息,并尝试使用php通过它访问过去的用户名。我的代码的这一特定部分不断返回错误。

$query = "SELECT username FROM users";
$records = mysql_query("SELECT username FROM users");
$result = mysql_query($records);

$result_array = array();
while($row = mysql_fetch_assoc($result))
{
    $result_array[] = $row['username'];
}

我收到的错误消息是:

  
      
  1. 警告:mysql_query()期望参数1为字符串,资源在......
  2. 中给出   
  3. 警告:mysql_fetch_assoc()期望参数1为资源,在...中给出null   非常感谢你!
  4.   

2 个答案:

答案 0 :(得分:3)

问题是你在$records变量上执行两次mysql_query,然后在resultlike上执行:

$records = mysql_query("SELECT username FROM users");
$result = mysql_query($records);

您需要做的是:

$records = "SELECT username FROM users";
$result = mysql_query($records);

答案 1 :(得分:1)

我希望杰克史密斯的回答很有帮助。我只是添加尝试使用 mysqli_query ,因为不推荐使用mysql,可能会在较新版本的php中将其删除。您还需要使用mysqli_connect('host','usrname','password','database')而不是mysql_connect。