我有一些代码,我想从日期与用户选择的日期匹配的数据库中提取代码。 SQL Server端上的列是Date参数。下面是我的代码,我在其中尝试选择一条记录,其中用户估算的日期与数据库中记录中的日期匹配。但是,每当我遇到$ stmt = $ dbh-> query($ sql)行时,我都会出错,我得到错误回叫。 我尝试从下面的代码行中回显$ sql
$sql = "SELECT * FROM tblEmployee WHERE dtDate = " . $selected_date;
在sql server上我得到 “ 操作符类型冲突:日期与int不兼容”。 下面是我的代码
if(isset($_POST['submit'])){
try{
$dbh = new PDO('sghf','','');
$dbh->setAttribute ( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$selected_date = date('Y-m-d', strtotime($_POST['dateFrom']));
$selected_option= $_POST['iChoiceID'];
$returnVals = array ();
$sql = "SELECT * FROM tblEmployee WHERE dtServed = " . $selected_date;
//echo $sql;
$stmt = $dbh->query($sql);
//$sourceInfo = $stmt->fetch( PDO::FETCH_ASSOC);
/*
$returnVals['info'] = array();
$returnVals['info'] ['txtInfo'] = $sourceInfo ['txtInfo'];
$returnVals['info'] ['txtName'] = $sourceInfo ['txtName'];
$returnVals['info'] ['txtOther'] = $sourceInfo ['txtOther'];
$stmt->closedCursor();
*/
}catch ( PDOException $e ) {
echo "error";
}
我只想知道是否有一种方法可以验证它们是否相同。 预先感谢
答案 0 :(得分:1)
您需要在日期表达式周围加引号:
WHERE dtServed = '" . $selected_date . "'" ;