douya5194 2012-04-27 11:41
浏览 45
已采纳

将mysql登录脚本转换为PDO

i've written a functional login script using mysql however i've now been told that it need to be done using PDO, i've a functional PDO connection

function getConnection(){
$userName = '*****';
$password = '*****';
$dbname = '******';
$db = new PDO( "mysql:host=localhost;dbname=$dbname", $userName, $password );
$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
return $db;

however i've no idea how to conver the login query to PDO

if (isset($_REQUEST['attempt']))
{

$user = $_POST['user'];
$password = $_POST['password'];

$qry = mysql_query
("SELECT * 
  FROM subscriber 
  WHERE email = '$user' 
  AND password = '$password'") 
or die(mysql_error());

$total = mysql_num_rows($qry);

if ($total > 0)
{
    session_start();
    $_SESSION['user'] = 'yes';
    header('location: account.php');
    exit;
}
else
{
    // do nothing.
}
}

any insight/help would be greatly appreciated thanks

  • 写回答

3条回答 默认 最新

  • duanliang9288 2012-04-27 11:44
    关注

    Have a browse of the PDO manual. But, to get you started:

    $db = getConnection();
    $stmt = $db->prepare("
        SELECT * FROM subscriber WHERE email = :email AND password = :password
    ");
    $stmt->bindParam(":email"   , $user    );
    $stmt->bindParam(":password", $password);
    $stmt->execute();
    $total = $stmt->rowCount();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?