【问题标题】:How to check the value inside the SQL database in php [closed]如何在php中检查SQL数据库中的值[关闭]
【发布时间】:2015-10-04 01:58:36
【问题描述】:
<?php
    $email = $_SESSION['eemailid']; 
    $query1 = mysql_query("SELECT * FROM attendance where email='$email'");
    while($row = mysql_fetch_array($query1))
    {
      $status = $row['status'];
    }
    if ($status =='IN')
    {
      echo "Success";
    }
      else 
    {
    echo "Failed"; 
    }
?>

这是我的博士代码。我有一个名为出席的数据库,我需要找到一个使用电子邮件的用户。找到用户后,我在 SQL 中有名为 status 的列。如果列内状态的值为“IN”。我需要展示成功。如果值为“OUT”,我需要显示失败。在这里,我使用电子邮件作为会话来查找当前用户。你能帮我做吗..

提前谢谢你。

【问题讨论】:

  • 那么到底是什么问题呢?你有错误吗?输出错误?
  • 现在有什么问题?
  • 总是显示失败。如果Status中的数据也是“IN”
  • 我需要检查数据库中的值。如果成功列有数据为“IN”,我应该成功否则失败。但我总是失败。

标签: php sql if-statement conditional-statements


【解决方案1】:

确保您已连接到数据库。 确保您已插入正确的数据(用户名、密码等)

请阅读:

http://php.net/manual/en/function.mysql-connect.php

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

然后阅读:

http://php.net/manual/en/function.mysql-query.php

<?php
$result = mysql_query("SELECT * FROM attendance where email='%s'"), mysql_real_escape_string($email));
if (!$result){
    die('Invalid query: ' . mysql_error());
}
while($row = mysql_fetch_array($result)){
    if ($row['status'] =='IN'){
        echo "Success";
    }
    else {
        echo "Failed"; 
        }
    }
    ?>

【讨论】:

  • 我需要检查数据库中的值。如果成功列有数据为“IN”,我应该成功否则失败。但我总是失败
  • 给你。已编辑。
【解决方案2】:

试试这个方法

 <?php
    $email = $_SESSION['eemailid']; 
    $result = mysql_query("SELECT * FROM attendance where email='"$email "'");
   $status="";
     while($row = mysql_fetch_array($result))
    {
      $status = $row['status'];
    }
    if ($status =='IN')
    {
      echo "Success";
    }
      else 
    {
    echo "Failed"; 
    }
    ?>

【讨论】:

  • 我认为 + 运算符仅用于 Javascript。点在PHP中使用还是我错了?
  • 我需要检查数据库中的值。如果成功列有数据为“IN”,我应该成功否则失败。但我总是失败
  • 哈哈,这段代码又错了
  • 请问我提供这个的目的是什么 = $status=" ";
  • 声明的可变范围
【解决方案3】:

我不确定您在数据库中的数据,但请按照以下步骤仔细检查:

  1. $_SESSION['emailid']; // emailid 还是emailid?或电子邮件?
  2. 您的数据库中有多少行的 email 列等于 $email? email 等于 $email 的最后一行的 status 列的值是多少?因为您的 IF ELSE 语句不在 WHILE 循环中

【讨论】:

    【解决方案4】:
    <?php
        $email = $_SESSION['eemailid']; 
        $query1 = mysql_query("SELECT * FROM attendance where email='$email'");
        while($row = mysql_fetch_array($query1))
        {
          $status = $row['status'];
        }
        if ($status =='IN')
        {
          echo "Success";
        }
          else if ($status == "OUT") 
        {
        echo "Failed"; 
        } else { 
        echo "Error"
         }
    ?>
    

    使用此代码告诉我们会发生什么。这可能是您的 SQL 查询的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-17
      • 2019-04-01
      • 1970-01-01
      • 2015-02-02
      • 1970-01-01
      • 2018-01-22
      相关资源
      最近更新 更多