是否有正则表达式来检查字符串是否有效SQL?它必须与PHP兼容。我的代码。
if(!preg_match("regular expression", $_POST['sql_input']){
echo "Please enter valid SQL.";
exit;
}
答案 0 :(得分:0)
您可以尝试使用此库:http://code.google.com/p/php-sql-parser/。 我还没有使用它所以我不能保证它,但代码看起来像 它将能够区分有效和无效的SQL之间的区别。
如果您的SQL变体允许,另一种选择可能是使用事务 它。事务将允许您执行SQL然后取消 它之后扭转了所造成的任何伤害。我想我会的 更喜欢选项1。
我引用戈德温。 Source
答案 1 :(得分:0)
简单的回答。你不想做什么。
您需要SQL Parser来检查语句是否有效。
答案 2 :(得分:0)
例如参见:https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php