2016-05-30 102 views
1

努力在DateTime列上返回結果。我只是空。 一直嘗試不同的方式,但結果相同。 我認爲問題出現時有空間?!?PHP使用PDO進行Mysql日期時間搜索

代碼:

$myStart=$_POST['jQueryDateStart']; 
$myEnd=$_POST['jQueryDateEnd']; 
$myStart = $myStart." 00:00:00"; 
$myEnd = $myEnd." 23:59:59"; 

if ($myStart>$myEnd){ 
    echo "<script>"; 
    echo " alert('Start Date must less than End Date');"; 
    echo " window.location.href='location.php';"; 
    echo "</script>"; 
    exit(); 
} 
$mytable = $_SESSION["SESS_myuserid"]; 

$stmt = $db->prepare("SELECT * FROM ".$mytable." WHERE PTime BETWEEN ':SearchS' AND ':SearchE'"); 
$stmt->bindParam(':SearchS', $myStart, PDO::PARAM_STR); 
$stmt->bindParam(':SearchE', $myEnd, PDO::PARAM_STR); 

$stmt->execute(); 

$result = $stmt->fetchAll(PDO::FETCH_ASSOC); 

echo $result[0]['PLong']; 
echo $myStart; 
echo $myEnd; 
echo $mytable; 
exit(); 

開始時間數據:2016年5月22日00:00:00 結束日期數據:在時間2016年5月27日23時59分59秒

實施例專欄:2016-05-26 13:29:24

我已經嘗試過使用單個''變量周圍的變量,如語句代碼所示,沒有,相同的結果。

+0

什麼是你的ptime列的數據類型 – Jens

+0

日期時間與佔位 – Migz

+0

自動換行關行情現在工作..不知道爲什麼上週你沒有工作。因此,我越來越困惑..謝謝 – Saty

回答

2

Wrap off quotes從佔位符否則創建查詢的WHERE PTime BETWEEN ''2016-05-22 00:00:00'' AND ''2016-05-27 23:59:59''

只需使用

$stmt = $db->prepare("SELECT * FROM ".$mytable." WHERE PTime BETWEEN :SearchS AND :SearchE"); 
+0

是的,這是允許的空 – Migz