dongranding3909 2013-03-24 12:52
浏览 27

Mysqli Prepared Statement Fetch Assoc

I am making a mysqli class for my website, but I'm stuck.

This is my class:

class Database  {

    private $mysqli = '';
    private $params = '';
    private $result = '';

    function Database($hostname, $username, $password, $database) {
        $this->mysqli = new mysqli($hostname, $username, $password, $database);

        if ($this->mysqli->connect_errno) {
            printf('Error #%s -> %s', $this->mysqli->connect_errno, $this->mysqli->connect_error);
            exit;
        }
    }

    public function setQuery($query) {
        $this->result = $this->mysqli->prepare($query); 
        $this->params = array();
        return $this;
    }

    public function setParam($type, $value) {
        $this->params[$type] = $value;

        return $this;
    }

    public function execute() {
        $params = $this->params;

        foreach ($params as $key => $value) {
            $this->result->bind_param($key, $value);
        }

        $user = $this->result->result_metadata()->fetch_assoc();
        echo $user['username'];
    }


}

I'm using:

Core::$database->setQuery('SELECT * FROM habbo_characters WHERE id = ?')->setParam('i', 1)->execute();

But I got no output / empty string as output. What i'm doing wrong? The setParam function works correctly, it's not that. And it contains user with id 1 (the sql).

  • 写回答

1条回答 默认 最新

  • dqrfdl5708 2013-03-24 13:37
    关注

    use PDO:

    <?php
    /* Execute a prepared statement by passing an array of values */
    $sql = 'SELECT name, colour, calories
        FROM fruit
        WHERE calories < :calories AND colour = :colour';
    $sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
    $sth->execute(array(':calories' => 150, ':colour' => 'red'));
    $red = $sth->fetchAll();
    $sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
    $yellow = $sth->fetchAll();
    ?>
    

    more examples can be found here: http://php.net/manual/de/pdo.prepare.php

    评论

报告相同问题?

悬赏问题

  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入