【问题标题】:Unexpected response while using php [duplicate]使用php时出现意外响应[重复]
【发布时间】:2016-07-28 23:49:46
【问题描述】:

我正在开发与大学作业类似的 irctc 类似网站项目。我提供用户搜索在给定日期运行的任何火车并从数据库进行验证。我正在使用 php 和 mysql 并且没有收到错误以及来自代码的无效响应。请看代码:

if (isset($_POST['btn_no'])) {
    $current_date=date("Y-m-d");
    $selected_date=$_POST['date'];
    $no=$_POST['train_no'];
    if ($selected_date>=$current_date) {
        $query="SELECT train_no FROM `trains` WHERE train_no='$no'";
        $found=$db->query($query);
        $rows=$found->num_rows;
        if ($rows==1) {
            $_SESSION['train_id']=$no;
            $_SESSION['date']=$_POST['date'];
            header("Location: showtrain.php"); 
        }
        elseif ($rows==0) {
?>
            <script>alert("Train no. invalid !")</script>
<?php
        }
    }
    elseif ($selected_date<$current_date) {
?>
            <script>alert("Wrong date");</script>
<?php
    }
}

每次执行&lt;script&gt;

【问题讨论】:

  • 既然你没有显示 $db 来自哪里......我要在黑暗中刺伤并问,$found->num_rows 是否应该是 $found->num_rows() ?
  • $db 是 PDO 对象,num_rows() 会报错。
  • stackoverflow.com/questions/5556540/…——看起来你应该使用rowCount()而不是num_rows?
  • “并且没有错误” - 那是因为您没有检查它们。你说你的连接是 PDO 并使用 mysqli_ 那些不混合的地方。另外,还有很多未知数。所以检查错误,你会看到其中的一些。

标签: javascript php html mysql


【解决方案1】:

据我所知,您的查询中有错误

$query="SELECT train_no FROM `trains` WHERE train_no='$no'";

WHERE train_no='$no'" 将寻找字符串 '$no' 而不是变量 $no

考虑尝试使用变量的值,而不是让 MYSQL 将 $no 解释为字符串。

$query="SELECT train_no FROM `trains` WHERE train_no=$no";

$query="SELECT train_no FROM `trains` WHERE train_no=" . $no;

【讨论】:

  • 还是不行。
  • 尝试使用 rowCount() 代替 num_row
猜你喜欢
  • 2020-07-20
  • 1970-01-01
  • 2014-07-25
  • 1970-01-01
  • 1970-01-01
  • 2022-11-22
  • 1970-01-01
  • 2021-09-28
  • 2017-09-26
相关资源
最近更新 更多