我有以下代码行:
mysql_query("SELECT name FROM details WHERE md5(name) = '".md5($input_name)."'");
这个查询工作得很好,但是,当我将查询更改为以下内容时:
mysql_query("SELECT name FROM details WHERE salt(name) = '".salt($input_name)."'");
查询似乎不起作用。
盐函数如下:
function salt ($name) {
global $salt;
return $salt.$name;
}
其中 $salt 是全局变量(md5 哈希值)
为什么第二个查询不起作用?
最佳答案
MySQL 无法访问您在 PHP 中定义的函数。您只能使用 MySQL 在 MySQL 查询中定义的函数,或者您在 SQL 中编写的函数。您必须重新思考您正在做的事情,并以不需要 MySQL 使用 PHP 函数的方式来表达它。
关于php - 在 MySQL 查询中使用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10975880/