首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >警告: mysqli_query():无法在<file>中在在线<number>中获取mysqli

警告: mysqli_query():无法在<file>中在在线<number>中获取mysqli
EN

Stack Overflow用户
提问于 2016-08-11 23:26:26
回答 1查看 1.7K关注 0票数 0

视图文件

代码语言:javascript
复制
<?php

require('OrderModel.php');

session_start();

if(!isset($_SESSION['orderModel'])){
    $newModel = new OrderModel();
    $_SESSION['orderModel'] = $newModel;
} else{
    $newModel = $_SESSION['orderModel'];
}

$newModel->addToBasket(1, 30);
echo $newModel->getItemName($newModel->basket[0][0]);
?>

OrderModel文件(简化)

代码语言:javascript
复制
class OrderModel{

public $basket;
public $orderDate;
public $orderTime;
public $sent;
public $dbc;
public $customerOrderID;

public function __construct()
{
    $this->dbc = require_once('../../db/config.php');
    $this->basket = [];
}

public function addToBasket($itemNumber, $itemQuantity){
    array_push($this->basket, [$itemNumber, $itemQuantity]);
}

public function getItemName($itemNum){
    $query = "SELECT ItemName FROM item WHERE ItemID = $itemNum;";
    $r = mysqli_query($this->dbc, $query); //Line 31
    if($r){
        return mysqli_fetch_row($r)[0];
    }else{
        echo mysqli_error($this->dbc); //Line 35
    }
}

我可以确认config.php文件是正确配置的,并且正在与DB对话。无论如何,守则是:

代码语言:javascript
复制
<?php
define ('username', 'root');
define ('password', 'root');
define ('server', '127.0.0.1');
define ('database', 'alberto');

$dbc = mysqli_connect(server, username, password, database) OR DIE ('Could not connect to MySQL: ' . mysqli_connect_error());

mysqli_set_charset($dbc, 'utf8');

return $dbc;
?>

我从视图文件中获得以下错误消息:

警告:在第31行的D:\UniServerZ\www\alberto\app\models\OrderModel.php中,mysqli_query():无法获取mysqli

警告:在第35行的D:\UniServerZ\www\alberto\app\models\OrderModel.php中,mysqli_error():无法获取mysqli

我怀疑这个错误与会话有关,但我似乎无法从迄今发布的线程中找到任何答案。

请告诉我。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-12 01:29:11

Barmar是正确的,$this->dbc不是一个有效的mysqli对象。您使用的require_once与文件类似于一个函数。使config.php成为一个类,并从那里建立db连接。我指的例子见这里。https://gist.github.com/jonashansen229/4534794

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

https://stackoverflow.com/questions/38907596

复制
相关文章

相似问题

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