我不知道這是否可以作爲答案,但至少它是可行的!這個問題有很多變量 - json,jqxgrid,pdo ...不要忘記有幾種方法可以使用PDO。我可能在不同的地方有過幾次錯誤。
(@apokryfos的STR_TO_DATE確實是不必要的)
最後,這是什麼工作:
在包含jqxGrid PHP頁面,發送到服務器的網址是:
url: 'my-json-responses.php?fct=getJSONAllMembersByDate®Date=<?php echo $fromDate ?>'
這個$ fromDate來自$ _POST,當用戶在輸入頁面輸入日期(格式爲2015-10-01)時。當含有jqxGrid負荷PHP頁面,它
$fromDate = $_POST['regDate'];
的URL「過境」通過文件我-JSON-reponses.php,其中包含許多功能。它找到合適的人:
if ($_GET['fct'] == 'getJSONAllMembersByDate')
{
$result = getJSONAllMembersByDate($connectionObject, $_GET['regDate']);
echo $result;
}
的$結果被稱爲上包含所有我的PDO數據庫請求,包括文件:
function getJSONAllMembersByDate($PDOdbObject, $regDate) { try
{
$membersByDateSQL = "SELECT `id`, `name_first`, `name_last`, `organization`,`email`, `phone`,`source`,`comments`,`language_id`, `lastUpdated` FROM `member` WHERE lastUpdated>='$regDate'";
$get=$PDOdbObject->query($membersByDateSQL);
$rows = $get->fetchAll(PDO::FETCH_ASSOC);
$json=json_encode($rows);
return $json;
}
catch (PDOException $e)
{
echo "There was a problem getting all members with this search query.";
echo $e->getMessage();
}}
注意使用「我不能讓版本? 「在查詢工作中,因此直接傳遞變量$ regDate,並在變量周圍添加單引號,以使生活變得有趣。
這將返回我的所有用戶的2015年10月1日的一個很好的列表 - 確定,但認爲仍打開到MySQL注入攻擊...
但這場馬拉松式的調試之後,我現在開心就好了。 (所有改進自然都歡迎!) SP
相同形式的原始SQL查詢是否有效? (沒有?)。 – apokryfos
是的,在數據庫中,原始查詢是完美的。 – swissphp
如果您確定日期將按照指定的格式進行格式化(無論如何都是有效的MySQL日期),也許您可以刪除STR_TO_DATE函數,因爲PDO可能無法將日期作爲參數綁定到函數。不是100%確定這一點。 – apokryfos