0

我从 JS 脚本接收到一个字符串,该字符串应根据日期时间格式进行格式化,例如:2013-07-29 00:00:00

当然,在将其放入原始 MySQL 查询之前,我需要清理该输入。在 php 上清理该格式的最佳方法是什么?

4

4 回答 4

3

“最好的”是使用准备好的语句,让数据库适配器为您转义值中的特殊字符。

无论您的口味是什么,在该主题中都无关紧要:

正如knittl所建议的,请参阅如何防止 PHP 中的 SQL 注入?为规范答案。

于 2013-08-05T08:55:04.027 回答
2

最好使用PDO

否则,如果您使用已弃用的 mysql_* 函数;mysql_real_escape_string()就是你要找的。

于 2013-08-05T08:54:14.383 回答
1

您可以使用正则表达式来测试输入格式。

最好插入 DB 是PDO

于 2013-08-05T08:58:12.177 回答
1

我会亲自制作一个正则表达式,拆开每个日期和时间组件,并验证它实际上是 PHP 中的一个好的日期和时间(不像2013-25-19 12:72:883. 您可以使用checkdate()它来验证它实际上是一个日期,然后根据时间的预期小时、分钟和秒范围检查时间。

此外,通常使用 PHP 中的 PDO 扩展来插入数据库。

于 2013-08-05T08:58:15.953 回答