PHP致命错误:未捕获错误:调用第23行null上的成员函数query()

PHP致命错误:未捕获错误:调用第23行null上的成员函数query(),php,mysql,websocket,xampp,composer-php,Php,Mysql,Websocket,Xampp,Composer Php,当我跑这条线的时候 $sql = $_db->query("UPDATE users SET theyear= '1999' WHERE UserName='batman'"); 我得到这个错误 PHP Fatal error: Uncaught Error: Call to a member function query() on null in line 23 我使用ratchet lib和php更改数据库行上的值,如果用户连接到服务器,代码可以找到数据库表,而不存在任何问题,

当我跑这条线的时候

$sql = $_db->query("UPDATE users SET theyear= '1999' WHERE UserName='batman'");
我得到这个错误

PHP Fatal error:  Uncaught Error: Call to a member function query() on null in line 23 
我使用ratchet lib和php更改数据库行上的值,如果用户连接到服务器,代码可以找到数据库表,而不存在任何问题,但是当涉及到编辑值行时,我得到了这个错误

数据库connectToDB.php代码

$dbhost     = "localhost";
$dbname     = "test";
$dbuser     = "root";
$dbpass     = "";

// database connection
try{
    $_db = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass, array(
                    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", 
                    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                    PDO::ATTR_PERSISTENT => true
                )); 
}catch(Excepion $e){
    die("ERROR : ".$e->getMessage());
}
?>
用于编辑行值的php代码

<?php
namespace MyApp;

include('/opt/lampp/htdocs/x/classes/user.php');
include('/opt/lampp/htdocs/x/connectToDB.php');

use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;

class Chat implements MessageComponentInterface {
    protected $clients;

    public function __construct() {
        $this->clients = new \SplObjectStorage;
    }

    public function onOpen(ConnectionInterface $conn) {
    global $_db;

        // Store the new connection to send messages to later
        $this->clients->attach($conn);

        echo "New connection! ({$conn->resourceId})\n";



       $sql = $_db->query("UPDATE users SET theyear= '1999' WHERE UserName='batman'");

    }

这将起作用

您的数据库对象为空。您的连接字符串有问题。@但我试图在没有ratchet的情况下使用它,而编辑行解决了任何问题?您是否有连接对象为空的错误状态。这可能是您的连接字符串或文件istelf的问题。@ChipDean是的,我的意思是Sorry我得到了这个错误PHP致命错误:未捕获的错误:调用成员函数prepare()我得到了MyApp\PDO'not Found我修复了MyApp\PDO'not Found,但是我得到了新的错误PHP注意:未定义的变量:_DBin这一行$sql=$\u db->prepare(“我的查询”)
{
    "autoload": {
        "psr-0": {
            "MyApp": "src"
        }
    },
    "require": {
        "cboden/ratchet": "^0.3.6",
        "cboden/ratchet": "^0.3.6"
    }
}
$r = $_db->prepare("your query here");
$r->execute();