从表中收集mysql查询结果

时间:2016-04-02 09:44:19

标签: php mysql

我需要使用单例数据库连接查询关联数组中的表并获取错误

注意:未定义的变量:第10行的C:\ xampp \ htdocs \ SOBCASHIER \ resources \ templates \ loginmodel.php中的id

注意:未定义的变量:第10行的C:\ xampp \ htdocs \ SOBCASHIER \ resources \ templates \ loginmodel.php中的名称

注意:未定义的变量:第10行的C:\ xampp \ htdocs \ SOBCASHIER \ resources \ templates \ loginmodel.php中的loc

警告:mysqli_stmt :: fetch()需要0个参数,3在第10行的C:\ xampp \ htdocs \ SOBCASHIER \ resources \ templates \ loginmodel.php中给出

注意:第12行的C:\ xampp \ htdocs \ SOBCASHIER \ resources \ templates \ loginmodel.php中的数组到字符串转换 阵列

我的db.config.php

define ('HOST','localhost');
define ('USER','garodamas_mon');
define ('PASSWORD','r0d4m45');
define ('DATABASE','garodamas_cashrcv');

class Database{
    private $DBH;
    private static $singleton;
    protected function __construct(){
        $this->DBH=new mysqli(HOST,USER,PASSWORD,DATABASE);
    }
    public static function instance(){
        if (!(self::$singleton instanceof self)) {
            self::$singleton = new self();
        }
        return self::$singleton;
    }
    public static function get(){
        return self::instance()->DBH;
    }
    private function __wake(){}
    private function __clone(){}
}

和我的loginmodel.php

<?php
require_once '../db.config.php';


$get=Database::get()->prepare('SELECT user_id, user_name, user_dept FROM mst_user');
$get->execute();
$row = array();

$get->fetch($id, $name, $loc);
        while($get->fetch()){
            print($row);
        }

我不知道我的错误在哪里。 mst_user有3列。请帮帮我..谢谢

2 个答案:

答案 0 :(得分:1)

prepare()语句返回false,因为存在错误。

  

mysqli_prepare()返回一个语句对象,如果发生错误,则返回FALSE。

尝试

new mysqli(HOST,USER,PASSWORD,DATABASE)->prepare('badsql')->execute();

然后修复badsql

答案 1 :(得分:1)

 require_once '../db.config.php';

$get=Database::get()->prepare('SELECT user_id, user_name, user_dept FROM mst_user');
$get->execute();  
  

与PDO:

while ($row = $get->fetch(PDO::FETCH_NUM)) {
        $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
        print $data;
       }
  

使用Mysqli:

$get->bind_result($id,$name,$loc);
 while ($get->fetch()) {
        print ($id, $name, $code);
    }