2014-01-21 5 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"); 
    } 
} 
?> 

error- код PDOStatement Object ([QueryString] => выберите имя от пользователя, где имя =?) Erorr1 проверить мой код помощь мнеп.д.о. ошибка оператор код проверки

+0

добавить код полнотекстового ошибки –

ответ

1

может быть, нет никаких ошибок.

заменить

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

этим:

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

До сих пор возможная проблема в таблице (или полей) в запросе не существует, или $name не имеет соответствия в таблице , Может быть, вы должны проверить значение в $stmt->rowCount

see documentation on PDOStatement::errorInfo

+0

в $ ERR [2], можно объяснить здесь, почему мы используем 2 – user3164111

+0

увидеть ссылку на официальной документации PHP. Второй является наиболее «понятным для пользователя», но добавляет также 'if (0 == $ stmt-> rowCount)' для обработки случая "не найдена строка" – Asenar

+0

' getmassage()); } ?> ' – user3164111

Смежные вопросы