为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 md5 加密不成功?要开启什么模块吗?

http://img1.sycdn.imooc.com//570866e50001975706580242.jpg

<?php 
//PDO
try{
    // $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '123456', options)
    $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '123456');
    $sql = <<< EOF
           CREATE TABLE IF NOT EXISTS users(
           id INT UNSIGNED AUTO_INCREMENT KEY,
           username VARCHAR(20) NOT NULL UNIQUE,
           password CHAR(32) NOT NULL,
           email VARCHAR(32) NOT NULL
           );
EOF;
    $res = $pdo->exec($sql);
    var_dump($res);
    echo "exec() ? ".$res.": 0 \n";

    $sql = <<< EOF
             INSERT users(username,password,email) 
             VALUES ("u01","'.md5('pdw01').'","u01@ufo.xyz"),
             ("u02","'.md5('pdw02').'","u01@ufo.xyz"),
             ("u03","'.md5('pdw03').'","u01@ufo.xyz");
EOF;
    $res = $pdo->exec($sql);
    var_dump($res);
    echo "exec() ? ".$res.": 0 \n";
}catch(PDOException $e){
    echo ($e->getMessage());
}




 ?>


正在回答

5 回答

从你的结果来看 是因为把         "'.md5('pdw02').'"   双引号中的内容看做是字符串了
可以把    "'.md5('pdw02').'"  边上的双引号,单引号和. 去掉试试 即变成

md5('pdw02')  这样

0 回复 有任何疑惑可以回复我~
#1

UFO2015 提问者

非常感谢!
2016-04-10 回复 有任何疑惑可以回复我~

老师视频中是用了字符串连接的方式写SQL语句,所以md5()前后都加了 “.”以连接字符串

你这里用了分界符,里面的内容保持原样,不需要“.”连接

0 回复 有任何疑惑可以回复我~

测试通过了!

http://img1.sycdn.imooc.com//570a0cfc0001b59f06620529.jpg

<?php 
//http://www.imooc.com/qadetail/131311 ?
/*
从你的结果来看 是因为把  "'.md5('pdw02').'"   双引号中的内容看做是字符串了,
可以把 "'.md5('pdw02').'"  边上的双引号,单引号和. 去掉试试 即变成 md5('pdw02') 这样
(测试通过了!)
*/
//PDO
try{
    // $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '123456', options)
    $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '123456');
    $sql = <<< EOF
           CREATE TABLE IF NOT EXISTS users(
           id INT UNSIGNED AUTO_INCREMENT KEY,
           username VARCHAR(20) NOT NULL UNIQUE,
           password CHAR(32) NOT NULL,
           email VARCHAR(32) NOT NULL
           );
EOF;
    $res = $pdo->exec($sql);
    var_dump($res);
    echo "exec() ? ".$res.": 0 \n";
 
    $sql = <<< EOF
             INSERT users(username,password,email) 
             VALUES ("u01",md5('pdw01'),"u01@ufo.xyz"),
             ("u02",md5('pdw02'),"u01@ufo.xyz"),
             ("u03",md5('pdw03'),"u01@ufo.xyz");
EOF;
    $res = $pdo->exec($sql);
    var_dump($res);
    echo "exec() ? ".$res.": 0 \n";
}catch(PDOException $e){
    echo ($e->getMessage());
}
 
 ?>


0 回复 有任何疑惑可以回复我~

http://www.imooc.com/qadetail/68979

虽然,已经google 解决了!

但是,还是非常感谢你的回复!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么 md5 加密不成功?要开启什么模块吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信