php - 程序输出错误的字符串

标签 php mysql sql

我有一个程序,用户输入司机的名字、姓氏、团队负责人的 ID、电话号码和区号。然后它将信息存储到数据库中,但不是存储领导者的 id,而是找到与领导者 id 对应的团队 id 并将其存储。

示例

驱动程序表

driver_id | first_name | last_name | phone | area_code | team_id

团队表

team_id | leader_id | student_id

因此,程序会找到与用户输入的 leader_id 相对应的 team_id

问题

我的问题是,如果leader_id不存在,那就意味着团队不存在,所以程序应该输出这行代码 header("Location: . ./../../admin.php?message=团队不存在"); (因为表是空的)但是程序输出这行代码 header("Location: . ./../../admin.php?message=Success!");,如果leader_id存在则输出。

PHP 代码

<?php

require '../../connect.php';

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$leader_id = $_POST['leader_id'];
$phone = $_POST['phone'];
$area_code = $_POST['area_code'];

if(!empty($first_name) && !empty($last_name) && !empty($phone) && !empty($leader_id)) {

    if(is_numeric($leader_id) && is_numeric($phone) && is_numeric($area_code)) {

        $get_team_id = mysqli_query($link, "SELECT team_id FROM teams WHERE leader_id = $leader_id");

        if($get_team_id) {

            $result = mysqli_query($link, "INSERT INTO drivers (first_name, last_name, phone, area_code, team_id) SELECT '$first_name', '$last_name', '$phone', '$area_code', team_id FROM teams WHERE leader_id = '$leader_id'");

            if($result) {

                header("Location: ../../../admin.php?message=Success!");

            } else {

                header("Location: ../../../admin.php?message=Sorry we ran into an error");

            }

            header("Location: ../../../admin.php?message=Team Exists");

        } else {

            header("Location: ../../../admin.php?message=Team Doesn't Exist");

        }


    } else {

        header("Location: ../../../admin.php?message=Please add a number for the Leader ID, Phone Number and Area Code");

    }
} else if (empty($first_name) || empty($last_name) || empty($leader_id) || empty($phone)) {

    header("Location: ../../../admin.php?message=Please add you're input values");

}

?>

最佳答案

根据您的情况尝试以下代码
if(mysqli_num_rows($get_team_id)>0)
而不是
if($get_team_id)

关于php - 程序输出错误的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43081702/

相关文章:

php - php加载内容后向下滑动页面

mysql - 合并两个表的结果

sql - 将多个行值更新为同一行和不同列

PHP Session ( $_SESSION[ ] ) 正在工作甚至破坏 session

php - 如何在php codeIgniter中更新相同的字段但不同的表

php - 为什么我不能使用我的虚拟主机在我的数据库中插入数据?

php - 在页面上提交另一个表单时如何保留搜索表单结果?

mysql - 删除数据表单表外键约束错误

mysql - SQL 查询的正确方法

mysql - SQLSTATE[01000] : Warning: 1265 Data truncated for column