【发布时间】:2017-07-31 10:48:12
【问题描述】:
当我运行这条线时
$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
如果用户连接到服务器,我使用棘轮 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'");
}
composer.json 代码
{
"autoload": {
"psr-0": {
"MyApp": "src"
}
},
"require": {
"cboden/ratchet": "^0.3.6",
"cboden/ratchet": "^0.3.6"
}
}
【问题讨论】:
-
您的数据库对象为空。您的连接字符串有问题。
-
@ChipDean 怎么样,但我尝试在没有棘轮的情况下使用它,并且编辑线没有任何问题?
-
你有
-
错误表明您的连接对象为空。要么是您的连接字符串,要么是文件 istelf 的问题。
-
@ChipDean 是的,我的意思是抱歉
标签: php mysql websocket xampp composer-php