Php mysqlli_查询中的连接变量未定义

Php mysqlli_查询中的连接变量未定义,php,mysql,sql,mysqli,undefined,Php,Mysql,Sql,Mysqli,Undefined,我有以下问题:$con未定义,尽管我使用它连接到数据库。我不明白这是为什么 <?php define("DB_HOST", "localhost"); define("DB_NAME", "Bar_buddy_users"); define("DB_USER", "local_server"); define("DB_PASSWORD","010203"); error_reporting( E_ALL ); ini_set('display

我有以下问题:
$con
未定义,尽管我使用它连接到数据库。我不明白这是为什么

<?php
    define("DB_HOST", "localhost");
    define("DB_NAME", "Bar_buddy_users");
    define("DB_USER", "local_server");
    define("DB_PASSWORD","010203");
    error_reporting( E_ALL );
    ini_set('display_errors', 1);
    $con = new mysqli(DB_HOST,DB_USER,"010203",DB_NAME) or die("Failed to connect to database");
    if ($con->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    echo "Connected successfully";
    function NewUser(){
        $first_name= $_POST["firstname"];
        $last_name = $_POST["lastname"];
        $email = $_POST["email"];
        $password = $_POST["password"];
        $query = "INSERT INTO Users (firstname, lastname, email, password) VALUES ('$first_name', '$last_name', '$email', '$password')";
        mysqli_query($con,$query);
        mysqli_close($con);
    }
?>

$con
作为参数传递给函数

移动
mysqli_关闭($con)函数外部的某个位置。一旦您关闭连接,它就不再有效。因此,您必须在不关闭的情况下使用同一个,或者每次都创建一个新的

function NewUser($con){

        $first_name= $_POST["firstname"];
        $last_name = $_POST["lastname"];
        $email = $_POST["email"];
        $password = $_POST["password"];

        $query = "INSERT INTO Users (firstname, lastname, email, password) VALUES ('$first_name', '$last_name', '$email', '$password')";
        mysqli_query($con,$query);
    }
...

        mysqli_close($con);

将连接路径设置为函数的路径,并确保调用函数where you passing$con to NewUser()?问题被问了太多次。这里
函数NewUser($con)
已解决,然后“调用”该函数。就像晚餐一样。是的,已经说过了,如果不是两次的话。也许OP会对此做出回应。