pdo语句错误检查代码

时间:2014-01-21 13:39:13

标签: php pdo prepared-statement

<?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] =&gt;从用户中选择名称=?的名称)erorr1检查我的代码帮助我

1 个答案:

答案 0 :(得分:1)

也许没有错误。

替换

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

由此:

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

到目前为止,可能存在的问题是查询中的表(或字段)不存在,或者$name表中没有匹配项。也许您必须检查$stmt->rowCount

中的值

see documentation on PDOStatement::errorInfo