pdo查找mysql语句错误_php中使用PDO查询数据库出错

查询的代码是:

$email=htmlspecialchars($_POST["email"]);

if($sql->getData('SELECT * FROM user WHERE email='.$email)==NULL){

getData的代码是:

public function getData($sql,$type=1){

$data=Array();

$db=$this->db();

$result=$db->query($sql);

$sth = $db->prepare($sql);

$sth->execute();

if(is_bool($result))

return $result;

if($type==1)

while($a = $sth->fetch(PDO::FETCH_ASSOC))

$data[]=$a;

elseif($type==2)

while($a = $sth->fetch(PDO::FETCH_BOTH))

$data[]=$a;

if($data)

return $data;

else

return NULL;

}

错误提示是:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@gmail.com' at line 1' in D:\phpStudy\WWW\core\mysql\drivers\PDO.php:61 Stack trace: #0 D:\phpStudy\WWW\core\mysql\drivers\PDO.php(61): PDO->query('SELECT * FROM u...') #1 D:\phpStudy\WWW\core\login.php(105): DB_PDO->getData('SELECT * FROM u...') #2 {main} thrown in D:\phpStudy\WWW\core\mysql\drivers\PDO.php on line 61

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值