我正在尝试学习正则表达式,但我找不到一种方法来让任何字符(字母、数字、空格、_ 或特殊字符,如 é、à 等)但我不让任何可能导致 MySQL 注入(inject)的东西通过,例如 ' 或 ;。有办法吗?
我试过:
if (preg_match("/^[^0-9][A-z0-9_]$/", $name)) {
echo "YAY IT WORKED!";
}
但是可惜那天没有回音
最佳答案
使用Prepared Statements避免 SQL 注入(inject)。
If an application exclusively uses prepared statements, the developer can be sure that no SQL injection will occur
如何使用
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);
关于php - 正则表达式 - 让任何不是 ' 或 ; 的字符通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23124534/