![](/img/trans.png)
[英]What is the best way to create a PHP/MySQL upgrade script for a software developer?
[英]What's the best way of escaping quotes in a php script that saves to mysql?
我要来回处理这个问题,所以我想在这里问。 我希望有一种适用于所有输入字段(文本,选择,文本区域)的技术。
首先,我们使用php脚本处理用户输入。 可能会有一些验证错误,因此可能需要使用用户输入的值重新显示表单。 htmlspecialchars($fieldValue, ENT_QUOTES)
在这里不起作用,因为如果出现验证错误并重新显示表单,则用户输入的所有引号都将转换为\\“。至少在文本区域中。
表单成功验证后,我们需要将输入发送到数据库。 列值必须“安全”,因此需要进行一些转换。 我了解从数据库读取数据时可能也需要进行某种形式的转换,尽管我希望这是错误的。
寻找不涉及太多代码的良好实践。
===
只是作为更新。 在Domino形式中,没有任何形式的转义,并且不需要特殊处理。 Notes会自动做到这一点。 在使用JPA的Java应用程序中,所有这些“安全性”也可以自动处理。 我了解php可能没有等效的功能,但这是一个常见的问题,我选择相信自己缺少一些非常简单的解决方案。
只需使用mysql_real_escape_string()
过滤需要进入数据库的输入!
您可以使用像Doctrine这样的ORM自动执行很多工作。 您确实应该使用PDO进行数据库访问,这将允许您执行“绑定”而不是“转义”。 仅使用转义会出现UTF8字符和编码问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.