douhe1002 2018-08-25 08:55
浏览 92
已采纳

SQLite3Result类的对象无法转换为int

I wanted to randomize select a column from table dictonary in a SQLite3 file. But I don't know why does it gives me a warning.(Notice)

This is the code of I write:(Part)

<?php
    class DB extends SQLite3{
        function __construct($path){
            return $this->open($path);
        }
        function randWord(){
            //Randomize select a word from database.
            $words = $this->query("select count(*) from 'dictonary';");
            return $this->query("select * from 'dictonary' limit 1 offset ".mt_rand(0,$words-1).";")->fetchArray()['wholeWord'];
        }
}
$database = new DB('storage.db');
echo json_encode([
    'status'=>200,
    'message'=>'Got an word!',
    'data'=>[
        'word'=>$database->randWord()
    ]
],JSON_PRETTY_PRINT);
$database->close();

And this is the response:

<br />
<b>Notice</b>:  Object of class SQLite3Result could not be converted to int in <b>D:\phpStudy\htdocs\Files\word-match\api.php</b> on line <b>17</b><br />
{
    "status": 200,
    "message": "Got an word!",
    "data": {
        "word": "\u5b66\u795e\u4e4b\u5973"
    }
}

Why?

  • 写回答

1条回答 默认 最新

  • dspym82000 2019-01-29 23:49
    关注

    All right problem has been solved by myself. $words is an object, not a number. I should use this way below to get the count:

    $words['count(*)'];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效