通常我使用trim()
PHP函数来检查数据是否为空。另外对于MySQL我使用mysql_real_escape_string()
。这是否够用,还是我需要执行额外的检查?
-2
A
回答
3
要检查数据是否为“空”,可以使用empty()。
是的,为了逃避你使用MySQL的mysql_real_escape_string()
的数据。默认情况下,trim()
用于修剪尾随和前导空白(如果没有附加参数使用)。
是否很难检查手册每个功能的作用?
1
我经常这样做:
$foo = isset($_POST['bar']) ? trim($_POST['bar']) : '';
if (!empty($foo))
$db->query("UPDATE table SET foo = '".mysql_real_escape_string($foo)."'");
0
if (!empty($_POST['data']) && other controls) {
// Success
$data = mysql_real_escape_string($data)
$sql = "SELECT * FROM users WHERE data = '$data'";
mysql_query($sql);
}
0
我倾向于使用isset($ _ POST [ '键1'],$ _ POST [ '键2'],$ _ POST [ 'keyn'])作为确定表单是否已提交所有必需数据的起点,以及诸如$ _SERVER ['REQUEST_METHOD'],$ _SERVER ['SERVER_PORT'],$ _SERVER ['REQUEST_URI']等测试项目。修剪不是有害的,但我只是用preg_match($ needle,$ haystackenter)去做颈静脉,并且使正则表达式非贪婪和非缓冲区捕获。总之,为什么条件输入,当你可以只是使测试失败?
语言结构empty()可以工作,但是如果该值与您正在查找的模式不匹配,它真的很重要吗?对于表演,谁可以说是否有人复制并粘贴了牛津英语词典,在这两种情况下都会发生什么。
function ValidatePostKeyAndValue($input, $pattern, $length)
{
if(isset($input) &&
preg_match($pattern, $input) &&
ctype_print($input) &&
strlen($input) <= $length &&
is_string($input))
{
return true;
}
else
{
return false;
}
}
根据具体情况我可以做更多或更少。布尔函数是你的朋友。
至于你的$ data变量,我认为这将是明智的考虑,如果通配符_和%可能会出现在你的数据。如果是这样,可以使用addcslashes()来定位字符串中的那些字符。不过,移至mysqli()将使您不必使用mysql_select_db()。 mysqli_connect()为你做到这一点!很值得转换。
相关问题
- 1. Jquery验证:在另一种方法内调用验证方法
- 2. 是否有另一种在DataGridView中显示数据的方法?
- 3. 是否有另一种方法来过滤网格视图?
- 4. PHP - 另一种存储$ _POST数据的方法?
- 5. 是否有另一种方法来修复Yesod的nicHtmlField?
- 6. 是否有另外一种方法来编写if语句?
- 7. 是否有另一种方法来设置DataGrid列对齐?
- 8. 这三种验证方法的实现是否有区别?
- 9. 有没有一种方法来验证hAtom微格式?
- 10. 是否有另一种同步方式
- 11. 是否有另一种方法来启动进程比child_process中的方法?
- 12. 是否有可能重写jquery.validate各种验证方法?
- 13. 有没有一种方法来验证探测read()方法是否对文件进行了完美的读取?
- 14. 验证是否三种方法之一与
- 15. 是否有另一种方法来动态创建这个double值的数组?
- 16. 如何验证两种方法之一是否已被调用?
- 17. 在IDA Pro中,是否有一种方法来标记函数?
- 18. 是否有一种标准方法来乘以分数?
- 19. 将数据从一种方法传递到另一种方法
- 20. Selenium有没有一种方法来验证项目的数量是否符合标准?
- 21. 有没有另外一种方法来做重定向页面?
- 22. JQuery添加验证方法来验证有关另一个元素的形式
- 23. 是否有一种更有效的方法来处理这种差异函数?
- 24. 是否有另一种方法来设置spring.data.rest.base-path比忽略的属性?
- 25. 试图从另一种方法验证索引号
- 26. 另一种检查图像url的方法是否有效
- 27. 是否有另一种方法来创建backrground任务而不使用AsyncTask?
- 28. 是否有另一种方法从Planet.osm中提取数据转储?
- 29. 是否有另一种更简单的方法来编写该程序?
- 30. 有没有一种方法来验证一个词是否存在于确定的习惯用语中?
**快速提示:**如果在trim()之前检查空白,您仍可以在数据库中以空值结束。想象一下,如果发送的数据只包含一个或多个不是“空”的空间,而是在修剪之后。的 – kapa
可能重复的[Kohana的3:验证模型的示例](http://stackoverflow.com/questions/2462201/kohana-3-example-of-model-with-validation) - 你具有标记接力和Kohana中,我猜猜这就是你要找的。 – hakre