【问题标题】:How do I store the results of an SQL call in a php array如何将 SQL 调用的结果存储在 php 数组中
【发布时间】:2016-04-10 01:56:37
【问题描述】:

我一直在尝试为网站创建注册表单,并且一直在努力检查用户的用户名是否被过去注册该网站的其他人使用过。我正在使用 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. 警告:mysql_fetch_assoc() 期望参数 1 是资源,在...中给出 null 非常感谢!

【问题讨论】:

  • 您收到的错误信息是什么?
  • 错误信息是什么?
  • 警告:mysql_query() 期望参数 1 是字符串,资源在 ... 中给出并且警告:mysql_fetch_assoc() 期望参数 1 是资源,空值在 ...
  • 显示更多代码 - 这通常意味着您没有连接到数据库服务器,没有选择数据库,或者您的 SQL 中有错误
  • mysql_* 扩展已被弃用,并且不再随当前 php 7 发行版一起提供。最好pick another API 连接到您的 MySQL 服务器。

标签: php mysql arrays loops while-loop


【解决方案1】:

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

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

你需要做的是:

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

【讨论】:

  • 这就是他所拥有的,所以我就这么做了
【解决方案2】:

我希望 Jack Smith 的回答对您有所帮助。我只是补充一点,尝试使用 mysqli_query 因为 mysql 已被弃用,并且可能在较新版本的 php 中被删除。您还需要使用 mysqli_connect('host','usrname','password','database') 而不是 mysql_connect。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 2012-11-05
    相关资源
    最近更新 更多