GatewayWorker 读取数据写入数据库

南柯醉一梦丶

我写了一句插入数据库 , 但是数据库没值

   public static function onMessage($client_id, $message)
   {Client
        // 发来的消息
        $commend = trim($message); //去除两边空格
      Gateway::sendToAll("$client_id said $message");//向所有用户发送数据
        if($commend !== 'get_user_list')
        {
            Gateway::sendToClient($client_id, "unknown commend\n");
            return;
        }
        // 使用数据库实例
        //读取数据
       // self::$db->select('*')->from('users')->where('uid>3')->offset(5)->limit(2)->query();
        //插入数据
        $insert_id = $db->query("INSERT INTO `Persons` ( `Firstname`,`Lastname`,`Sex`,`Age`)VALUES ( 'abc', 'efg', 'M', 13)");
        // 打印结果
        return Gateway::sendToClient($client_id, var_export($ret, true));
   }

}

数据库连接没问题。

5898 8 0
8个回答

walkor

debug方式运行(启动时不加-d),如果插入失败会报错的,错误会显示在终端上,看具体好错然后去解决就行了。

  • 南柯醉一梦丶 2017-03-08

    额。。运行没有错误,是数据没有插入到指定数据库 $insert_id = $db->query("INSERT INTO Persons ( Firstname,Lastname,Sex,Age)VALUES ( 'abc', 'efg', 'M', 13)");

  • 南柯醉一梦丶 2017-03-08

    我在楼下贴了图片

南柯醉一梦丶

图片

  • 暂无评论
walkor

没错错误说明没运行到$db->qurey那里。
还有截图里有个明显的语法错误,第二行多了个Client

  • 南柯醉一梦丶 2017-03-08

    那个Cient是我本地多复制了,服务器上没这句。。。怎么会没运行到呢。。我客户端接收到了数据。。。

  • 南柯醉一梦丶 2017-03-08

    楼下贴了图。。

南柯醉一梦丶

我注释掉IF语句后,,,

  • luobu 2019-07-17

    兄弟 你写完了没有 我现在也是卡在这里

walkor

$db 在onMessage函数里没定义,使用肯定报错。
改成 self::$db->query(...

...

南柯醉一梦丶

又报错了。。客户端读取数据时候就会报错,还有变量ret在哪里定义的?

  • 暂无评论
xiuwang

我猜应该是 $ret = self::$db->query(XXXX
自己写的代码都不知道ret哪里定义的,你是程序员嘛?笑惨

南柯醉一梦丶

无法连接数据库 在bash下执行mysql -uroot -p能否连上。

年代过于久远,无法发表回答
🔝