Javascript 使用php时出现意外响应

Javascript 使用php时出现意外响应,javascript,php,html,mysql,Javascript,Php,Html,Mysql,我正在开发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>=$curre

我正在开发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
    }
}

每次都执行。

从我可以告诉您的信息来看,您的查询中有一个错误

$query="SELECT train_no FROM `trains` WHERE train_no='$no'";
其中,train_no='$no'将查找字符串'$no',而不是变量$no

考虑尝试使用变量的值,而不是将MYSQL interprate$no作为字符串

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


因为你没有显示$db的来源。。。我要在黑暗中试探一下,问:$found->num_rows是$found->num_rows吗?$db是PDO对象,num_rows会给出错误。看-看起来你应该使用rowCount而不是num_rows?并且没有错误-这是因为你没有检查它们。你说你的连接是PDO,并使用mysqli_u,而这两者并不混合。另外,还有很多未知数。因此,检查错误,您将看到其中一些错误。仍然不起作用。请尝试使用rowCount而不是num_row
$query="SELECT train_no FROM `trains` WHERE train_no=" . $no;