简单地将输入传递给按钮onClick

时间:2017-05-31 04:20:48

标签: php sql web mysqli

所以我正在创建一个出租车预订应用程序(模拟项目),并且正在实现一个搜索栏,用于通过sql搜索数据库。 我已经完成了所有工作,但现在我想在分配出租车司机之前检查表格中的代码是否有效。

$sql = "UPDATE cabBookings SET _status = 'assigned' WHERE _booking_code = '$code'";
$sqlTwo = "SELECT * FROM cabBookings WHERE _booking_code = '$code'";

if($result = @mysqli_query($connection, $sqlTwo)){
        if($result->fetchColumn() > 0){
            if (@mysqli_query($connection, $sql)) {
                echo "<p style = 'padding: 10px; background-color: #8ae57b; border: 1px solid black; max-width: 400px;'>Great! Thankyou
                    for taking up your time. You have been assigned the duty of picking up this passenger :-)</p>
                    <button style = 'margin-top: 10px;' type = 'button' onClick = 'location.reload()'>Reload Page</button>";
            } else {
                echo "Error: " . $sql . "<br>" . $connection->error;
            }
        }else{
            echo "<p style = 'padding: 10px; background-color: #ed6c63; border: 1px solid black; max-width: 400px;'>Sorry, the code
                    you have entered is not a current booking</p>";
        }
    }
显然代码不起作用,我只是想知道我做错了什么

2 个答案:

答案 0 :(得分:1)

如果您使用PDO库,则使用

$result->fetchColumn()。但在这里我可以看到你使用简单的mysqli功能。所以fetchColumn功能不起作用。

而不是$result->fetchColumn()使用$result->num_rows

答案 1 :(得分:0)

您在数据库函数名称之前使用@,这将抑制它将生成的任何错误消息!详情:http://php.net/manual/en/language.operators.errorcontrol.php

尝试执行错误捕获。也许抓住错误并写入日志文件。通过这种方式,您将能够找出代码中发生的问题! 您可以查看error_log文件以查看错误

还有一件事,我建议使用反引号转义查询中的表字段名称和表名。示例:

$sql = "UPDATE `cabBookings` SET `_status` = 'assigned' WHERE `_booking_code` = '$code'";