Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php mysqli从两个连接的表中获取数据_Php_Mysql_Sql_Mysqli - Fatal编程技术网

使用php mysqli从两个连接的表中获取数据

使用php mysqli从两个连接的表中获取数据,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我有两个连接的表-days和user\u days: 天数: 用户天数: 我需要如何检查在用户id为的用户日中是否有今天(unix日期)记录,如果是,那么我需要在这之后获取日id,以从以日id为id的表日中获取数据 我写道: public function getDay($user_id) { $stmt = $this->conn->prepare("SELECT d.id, d.day, d.status, d.created_at, d.dayDate f

我有两个连接的表-
days
user\u days

天数:

用户天数:

我需要如何检查在用户id为的用户日中是否有今天(unix日期)记录,如果是,那么我需要在这之后获取日id,以从以日id为id的表日中获取数据

我写道:

 public function getDay($user_id) {
        $stmt = $this->conn->prepare("SELECT d.id, d.day, d.status, d.created_at, d.dayDate from days d, user_days ud WHERE d.id = ? AND ud.dayDate = d.dayDate AND ud.user_id = ?");
        $t=time();
        $dayDate = date("Y-m-d",$t);
        $stmt->bind_param("si", $dayDate, $user_id);
        if ($stmt->execute()) {
            $res = array();
            $stmt->bind_result($id, $day, $status, $created_at, $dayDate);
            // TODO
            // $task = $stmt->get_result()->fetch_assoc();
            $stmt->fetch();
            $res["id"] = $id;
            $res["task"] = $task;
            $res["status"] = $status;
            $res["created_at"] = $created_at;
            $res["dayDate"] = $dayDate;
            $stmt->close();
            return $res;
        } else {
            return NULL;
        }
}

另一方面,作为index.php,我有一些不太重要的代码:

$app->get('/days', 'authenticate', function() {
            global $user_id;
            $response = array();
            $db = new DbHandler();

            // fetch task
            $result = $db->getDay($user_id);

            if ($result != NULL) {
                $response["error"] = false;
                $response["id"] = $result["id"];
                $response["day"] = $result["day"];
                $response["status"] = $result["status"];
                $response["createdAt"] = $result["created_at"];
                $response["dayDate"] = $result["dayDate"];
                echoRespnse(200, $response);
            } else {
                $response["error"] = true;
                $response["message"] = "The requested resource doesn't exists";
                echoRespnse(404, $response);
            }
        });
我只是得到了不正确的输出:

 Object {error: false, id: 0, day: null, status: 0, createdAt: null}

我的查询有什么问题,我认为查询是个问题,但我可以在几个小时内解决它…

在getday()中,我认为您应该替换
$res[“task”]=$task
with
$res[“day”]=$day

是您的朋友……好吧,但这不是问题:我通过更改查询来解决这个问题:WHERE d.dayDate=?ud.dayDate=d.dayDate,ud.user_id=?”;