我正在嘗試在兩個時間戳之間獲取數(shù)據(jù)庫上的數(shù)據(jù),并且我看到了許多使用 BETWEEN 的帖子。但是我無法克服與我的 bindparams 相關(guān)的錯誤,這就是為什么我無法測試我在另一篇文章中看到的代碼的原因。關(guān)于我的代碼的第一部分,我只是認為 $date1 和 $date2 上的值是一個字符串,我想也許我需要將它轉(zhuǎn)換為 MySQL 時間戳格式,所以我使用了以下代碼。如何根據(jù)我的代碼在時間戳上使用 bindparams?我嘗試了以下代碼,但在 POSTMAN 上不斷收到錯誤消息。比如變量個數(shù)和參數(shù)個數(shù)不匹配這是我在 Postman 上用于測試的 date1 和 date 2 的樣本值 $date1 is 2019-12-13 00:00:00 $date2 is 2019-12-15 00:00:00DbOperation.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; }
1 回答

暮色呼如
TA貢獻1853條經(jīng)驗 獲得超9個贊
您需要使用占位符。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);
- 1 回答
- 0 關(guān)注
- 120 瀏覽
添加回答
舉報
0/150
提交
取消