2014-01-21 58 views
-1
<?php 
If(isset($_POST['submit'])) 
{ 
    $name=$_POST['user']; 
    require('connect.php'); 
    global $pdo; 
    $stmt= $pdo->prepare("select name from user where name=?"); 
    $stmt->bindparam(1,$name); 
    $stmt->execute(); 
    $row=$stmt->fetch(PDO::FETCH_ASSOC); 
    if($row==false) 
    { 
    die("erorr".print_r($stmt)); 
    } 
    elseif($row['name']==$name) 
    { 
    header("location: mypage.php"); 
    } 
    else 
    { 
    die("please enter your user name and password"); 
    } 
} 
?> 

无差错代码PDOStatement对象对象([的queryString] =>选择名字从用户其中name =?)erorr1检查我的代码帮我PDO语句错误校验码

+0

值添加完整的错误代码 –

回答

1

也许没有错误。

这个替换

die("erorr".print_r($stmt)) 

$err=$stmt->errorInfo(); 
die('error :'.$err[2]); 

到目前为止,可能出现的问题在查询表(或领域)不存在,或者$name在表中没有匹配。也许你得检查$stmt->rowCount

see documentation on PDOStatement::errorInfo

+0

在$错误[2]你能在这里解释一下为什么我们使用2 – user3164111

+0

看到链接到PHP官方文档。第二个是最“用户可读的”,但也加上'if(0 == $ stmt-> rowCount)'来处理“找不到行” – Asenar

+0

'<?php 尝试 { $ pdo = new pdo ('mysql:dbname = test; host = localhost','root','ajeet'); } catch(PDOException $ e) die(“error”。$ e-> getmassage()); } ?>' – user3164111