>백엔드 개발 >PHP 튜토리얼 >#生手来袭# 一段简单的代码为什么提示出错

#生手来袭# 一段简单的代码为什么提示出错

WBOY
WBOY원래의
2016-06-13 10:36:401407검색

#新手来袭# 一段简单的代码为什么提示出错
public function addemail(){
  $email_name=$_POST['name'];
  $email_email=$_POST['email'];

  $con=mysqli_connect("localhost","root","root","bottlelover")
  or die('connect error');

  mysqli_set_charset($con,"utf8");

  $sql="SELECT * FROM email_list WHERE email_email = $email_email";
  $result=mysqli_query($con,$sql)
  or die('query1 error');

  if($row=mysqli_fetch_array($result)){
  $this->assign("res",'邮箱已被使用,用户添加失败');
  mysqli_close($con);
  $this->display("Bottleloveradd");
  }
  else {
  $sql="INSERT INTO email_list(email_name,email_email) VALUES ('$email_name','$email_email')";
  $result=mysqli_query($con,$sql)
  or die('query2 error');
  $this->assign("res",'新用户添加成功');
  mysqli_close($con);
  $this->display("Bottleloveradd");
  }
  }

--------------------------------------------以上是代码--------------------

我的本意是添加新用户之前要检查邮箱是不是已经被使用,
$sql="SELECT * FROM email_list WHERE email_email = $email_email";
  $result=mysqli_query($con,$sql)
  or die('query1 error');
这段代码提示query1 error错误,其他运行正常;为什么,明显没有错啊,表名没错,列名没错,变量名都没错.....

------解决方案--------------------
$sql="SELECT * FROM email_list WHERE email_email = '$email_email'";
------解决方案--------------------
字符类型的量要用引号括起
正因为太简单了,所以容易忽视
------解决方案--------------------
楼上正解,少了单引号,因为这是字符串

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.