查询的代码是:
<code>$email=htmlspecialchars($_POST["email"]);
if($sql->getData('SELECT * FROM user WHERE email='.$email)==NULL){
</code>getData的代码是:
立即学习“PHP免费学习笔记(深入)”;
<code>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;
}
</code>错误提示是:
<code>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</code>查询的代码是:
<code>$email=htmlspecialchars($_POST["email"]);
if($sql->getData('SELECT * FROM user WHERE email='.$email)==NULL){
</code>getData的代码是:
立即学习“PHP免费学习笔记(深入)”;
<code>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;
}
</code>错误提示是:
<code>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</code>
你需要把email地址引起来
<code class="php"><?php
$email=htmlspecialchars($_POST["email"]);
if($sql->getData('SELECT * FROM user WHERE email="'.$email.'"')==NULL){
</code>
这个是你的 SQL 语句语法错误,字符串要用引号括起来:
<code class="php">$pdo->getData("SELECT * FROM `table` WHERE `email` = '{$email}'");</code>以后遇到这种错误你打印你的语句出来就知道错哪了
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号