尝试执行变量的SHA1,我正在使用这段代码:
$prow=mysql_fetch_array(mysql_query("SELECT SHA1($password) AS SHA"));
var_dump($prow);
但是,我总是把船头指定为空,为什么会这样?
答案 0 :(得分:1)
发生错误时返回Null。您对mysql_query()
的调用可能会返回false。
如果您正在使用数据库,那么为什么不使用PHP自己的sha1()
函数:
$sha1 = sha1($password);
(N.B。您应该使用bcrypt
或scrypt
正确地填充密码 - SHA1是不够的。)
答案 1 :(得分:1)
这对我有用....
$password = 123;
$query = "SELECT SHA1($password) AS SHA";
$result = mysql_query($query);
$prow = mysql_fetch_array($result);
print "<pre>";
print_r($prow);
print "</pre>";
并返回:
Array
(
[0] => 40bd001563085fc35165329ea1ff5c5ecbdbbeef
[SHA] => 40bd001563085fc35165329ea1ff5c5ecbdbbeef
)
尝试测试数据库连接......?
修改 - 使用mysql_ping()来测试您的连接。如果它返回false,那就是你的问题......
编辑 - 你需要在字符串周围引用 ...我简直不敢相信我错过了。
$query = "SELECT SHA1('$password') AS SHA";