这行得通吗?
$username = mysql_real_escape_string(isset($_POST['username'])) ? $_POST['username'] : '';
我知道三元运算符可以工作,但真正的转义呢?如果真正越狱成功,如何查看以供日后引用?
谢谢
最佳答案
您的代码正在转义三元表达式的条件而不是结果。
$username = mysql_real_escape_string(isset($_POST['username']) ? $_POST['username'] : '');
将括号移动到表达式的末尾,然后您将转义三元表达式的任何结果。你也可以使用
$username = isset($_POST['username']) ? mysql_real_escape_string($_POST['username']) : '';
一个更好的选择是为此使用一个函数,而不是围绕 ie 编写一大堆代码。
function escape_val($arr, $key, $default = ''){
return mysql_real_escape_string(isset($arr[$key]) ? $arr[$key] : $default);
}
$username = escape_val($_POST, 'username');
$some_other = escape_val($_POST,'key','default_value');
关于php - 三元运算符变量和mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5626183/