【问题标题】:Echo wont show if the condition is true or falseEcho 不会显示条件是真还是假
【发布时间】:2014-08-12 05:27:41
【问题描述】:

如果邮件为空,我要做的就是什么都不做,如果条件为真则回显1,如果条件为假则回显0。

我的问题是即使条件为真,回声也不会出现,如果为假,回声也不会显示。

<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "test";

$dbc = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass);
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

if(!empty(@$_POST['email'])) {

        $name = @$_POST['name'];
        $age = @$_POST['age'];
        $address = @$_POST['address'];
        $gender = @$_POST['gender'];
        $email = @$_POST['email'];

        $dupesql = "SELECT * FROM students WHERE email = :email ";

        $dupesql = $dbc->prepare($dupesql);
        $dupesql->bindParam(':email', $email);
        $dupesql->execute();
        $num_rows = $dupesql->rowCount(); 

        if($num_rows === 0) 
        {

        echo "1";
        $q = "INSERT INTO students(name, age, address, gender, email ) VALUES(:name, :age, :address, :gender, :email)";

        $query = $dbc->prepare($q);
        $query->bindParam(':name', $name);
        $query->bindParam(':age', $age);
        $query->bindParam(':address', $address);
        $query->bindParam(':gender', $gender);
        $query->bindParam(':email', $email);

        $results = $query->execute();

        }else{
        echo "0";
        exit;
        }   
}       

?>

【问题讨论】:

  • 在每个 echo 语句后放置一个骰子,看看它是否正在显示

标签: php jquery mysql ajax pdo


【解决方案1】:

您的条件不是检查电子邮件是否为空。它正在检查是否返回了任何行。您需要重新定位 if 语句的 else 部分,如下所示。

if(!empty(@$_POST['email'])) {
  // code here
  echo "1";
  // code here
}else{
  echo "0";
  exit;
}   

【讨论】:

  • 如果电子邮件可用或不可用,则在空条件内有一个 if 语句。
  • 如果可用 echo 1 如果不可用 echo 0
  • 尝试使用if(isset(@$_POST['email']))而不是if(!empty(@$_POST['email']))
【解决方案2】:

您可能从$dupesql-&gt;rowCount(); 返回错误的数据类型。尝试通过var_dump(); 写入变量或使用== insted of ===。或者你也可以有空的$_POST['email'] 变量

【讨论】:

  • 在我将 if!empty 语句放入我的代码之前,我的代码正在运行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-16
  • 1970-01-01
  • 2021-11-23
相关资源
最近更新 更多