[英]Comparing dates mysql/php doesn't work
我有個問題。 我有一個SQL語句,它可以在phpMyAdmin上工作,但是在php上它給出一個空值。
具有正確值的SQL語句:
SELECT * FROM `CON_DECKEL` WHERE fecha < (SELECT STR_TO_DATE('2017-03-15T15:53','%Y-%m-%dT%H:%i')) LIMIT 3;
具有空值的PHP代碼:
$sql = "SELECT * FROM `CON_DECKEL` WHERE fecha < (SELECT STR_TO_DATE('2017-03-15T15:53','%Y-%m-%dT%H:%i')) LIMIT 3;";
echo htmlspecialchars($sql);
if ($resultado = $conn->query(htmlspecialchars($sql))) {
$query_success = true;
$valores = array();
var_dump($valores);
while ($row = $resultado->fetch_object())
{
array_push($valores, array($row->canal1, $row->canal2, $row->canal3, $row->canal4, $row->fecha));
}
$resultado->close();
}
var_dump($valores);
$conn->close();
} else {
$msg = "Error de conexión: " . $conn->connect_error;
}
我得到帶有“ echo htmlspecialchars($ sql);”的SQL語句,將此語句粘貼到PHPMyAdmin上,它可以完美地工作。
誰能幫我? 我不知道為什么它在PHP上不起作用,也不知道如何解決。
謝謝! :)
看到您知道問題出在哪里,我只是添加一個答案以澄清一些問題。
最好使用htmlspecialchars()
,但是僅在用戶提交的值上使用。
它失敗的原因是您在完整查詢中使用了它,將<
轉換為<
,這是SQL無法理解的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.