首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从MySQL获取一行结果

从MySQL获取一行结果
EN

Stack Overflow用户
提问于 2010-12-20 02:21:47
回答 4查看 1.6K关注 0票数 1

我正在尝试用PHP构建一个简单的数据库类,我使用的是MySQL。

现在我已经卡住了,我不知道如何从数据库中显示一行结果。我已经解决了如何从数据库中获取多个行的问题,但现在我尝试只显示一个行,比如用户名、电子邮件、级别、reg_date。

我的代码:

代码语言:javascript
代码运行次数:0
运行
复制
class Database {

  public $mysql;

  function __construct()
  {
    $this->mysql = new mysqli(host, user, password, db) or die('There was a problem connecting to the db');
  }

  function multiLine($sql)
  {
    $this->mysql->query("SET NAMES 'utf8'");
    $this->mysql->query("SET CHARACTER SET 'utf8'");

    if(($result = $this->mysql->query($sql)) != NULL) {
      $x = array();
      while($row = $result->fetch_array()) {
        $x[] = $row;
      }
      return $x;
    }
    else {
      echo $this->mysql->error;
    }
  }


  function singleLine($sql)
  {

      $one = array();
      if(($one = $this->mysql->query($sql)) != NULL)
      {
          $one = $result->fetch_array(); // Error here
      }

      return $one;
  }

  function __destruct() {
    // close out the database connection;
    $this->mysql->close();
  }
}

我的函数multiLine是这样工作的,我是这样使用它的:

代码语言:javascript
代码运行次数:0
运行
复制
$db = new Database();
$sql = 'SELECT * FROM users ORDER BY id DESC';

$response = $db->multiLine($sql);

<?php foreach($response as $r) : ?>
<p>ID: <?php echo $r['id']; ?></p>
<p>Username: <?php echo $r['username']; ?></p>
<?php endforeach; ?>

那么,谁能给我一个如何解决这个问题的提示?也许有人有一个用PHP制作数据库类的很好的教程链接。

EN

回答 4

Stack Overflow用户

发布于 2010-12-20 02:38:14

代码语言:javascript
代码运行次数:0
运行
复制
if(($one = $this->mysql->query($sql)) != NULL)

应该是

代码语言:javascript
代码运行次数:0
运行
复制
if(($result = $this->mysql->query($sql)) != NULL)
票数 1
EN

Stack Overflow用户

发布于 2010-12-20 02:24:35

我不明白有什么问题,为什么不在查询中添加LIMIT 1

票数 0
EN

Stack Overflow用户

发布于 2010-12-20 02:30:34

为了将结果强制显示为一行,查询末尾的LIMIT 1将执行此操作。

如果您希望在将结果发送到multiLine()或singleLine()之前检查结果是否恰好是一行,mysql_num_rows会告诉您查询中有多少行。

我不知道为什么要以不同的方式处理它们,因为调用它的代码必须检查它是返回一个数组还是一个对象。回报应该是一致的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4484404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档