Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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/64.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 如何对时间戳数据使用bind_参数?_Php_Mysql_Mysqli_Timestamp - Fatal编程技术网

Php 如何对时间戳数据使用bind_参数?

Php 如何对时间戳数据使用bind_参数?,php,mysql,mysqli,timestamp,Php,Mysql,Mysqli,Timestamp,我试图在两个时间戳之间获取数据库上的数据,我看到许多帖子都使用了between。但是我无法通过与bindparams相关的错误,这就是为什么我无法测试我在另一篇文章中看到的代码 关于代码的第一部分,我认为$date1和$date2上的值是一个字符串,我认为可能需要将其转换为MySQL时间戳格式,所以我使用了以下代码 如何基于代码在时间戳上使用bindparams 我尝试了以下代码,但在POSTMAN上不断出现错误。 例如变量的数量与参数的数量不匹配 这是date1和Date2的样本值,我在Pos

我试图在两个时间戳之间获取数据库上的数据,我看到许多帖子都使用了between。但是我无法通过与bindparams相关的错误,这就是为什么我无法测试我在另一篇文章中看到的代码

关于代码的第一部分,我认为$date1和$date2上的值是一个字符串,我认为可能需要将其转换为MySQL时间戳格式,所以我使用了以下代码

如何基于代码在时间戳上使用bindparams

我尝试了以下代码,但在POSTMAN上不断出现错误。 例如变量的数量与参数的数量不匹配

这是date1和Date2的样本值,我在Postman上使用它进行测试

       $date1 is  2019-12-13 00:00:00
       $date2 is  2019-12-15 00:00:00
DbOperation.php

    //view cart product sales in cartData via date
    public function viewCartDatabyDate($date1, $date2){
        $timestamp1 = strtotime($date1);
        $timestamp2 = strtotime($date2);
        $newDate1=date("Y-m-d H:i:s", $timestamp1);
        $newDate2=date("Y-m-d H:i:s", $timestamp2);

        $stmt = $this->con->prepare("SELECT * FROM cart_data WHERE created BETWEEN '$newDate1' AND '$newDate2' ORDER BY created");
        //$stmt->bind_param("s", $newDate1);
        //$stmt->bind_param("s", $newDate2);
        $stmt->bind_param("s", $created);
        $result = $stmt->get_result();
        while($data = $result->fetch_assoc()){
            $cartdata[]=$data;
        }
        return $cartdata;
    }

您需要使用占位符。SQL中的问号表示这是附加变量的位置

$stmt = $this->con->prepare("SELECT * FROM cart_data WHERE created BETWEEN ? AND ? ORDER BY created");
$stmt->bind_param("ss", $newDate1, $newDate2);
$result = $stmt->get_result();
$certdata = $result->fetch_all(MYSQLI_ASSOC);

您需要使用占位符。SQL中的问号表示这是附加变量的位置

$stmt = $this->con->prepare("SELECT * FROM cart_data WHERE created BETWEEN ? AND ? ORDER BY created");
$stmt->bind_param("ss", $newDate1, $newDate2);
$result = $stmt->get_result();
$certdata = $result->fetch_all(MYSQLI_ASSOC);