失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql – php中使用PDO查询数据库出错

mysql – php中使用PDO查询数据库出错

时间:2021-04-03 01:57:00

相关推荐

mysql – php中使用PDO查询数据库出错

后端开发|php教程

php,mysql

后端开发-php教程

查询的代码是:

微盘系统源码,提交一个vscode插件,ubuntu显示不全,tomcat需要登录密码,爬虫wiki 词条,php连接数据库查询,seo优化的关键点是什么lzw

$email=htmlspecialchars($_POST["email"]);if($sql->getData(SELECT * FROM user WHERE email=.$email)==NULL){

getData的代码是:

u3d棋牌源码下载,ubuntu开机滚代码,嵌入式tomcat 启动,网页爬虫层次,前端php 后端用什么,seo 概念lzw

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;}

错误提示是:

最新上传免费视频网站源码,ubuntu 网络启动失败,tomcat服务修改名称,晋江小说爬虫,php开发工作流,什么是seo推广seo白帽lzw

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 @ 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

回复内容:

查询的代码是:

$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 @ 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

你需要把email地址引起来

getData(SELECT * FROM user WHERE email=".$email.\")==NULL){

这个是你的 SQL 语句语法错误,字符串要用引号括起来:

$pdo->getData("SELECT * FROM `table` WHERE `email` = {$email}\");

以后遇到这种错误你打印你的语句出来就知道错哪了

如果觉得《mysql – php中使用PDO查询数据库出错》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。