我有这个PHP脚本
<?php
$DB_HOST= "localhost";
$DB_NAME = "hhh";
$DB_USER = "root";
$DB_PASSWORD= "";
$con= mysqli_connect($DB_HOST,$DB_USER,$DB_PASSWORD,$DB_NAME) or die("Failed to connect to MySQL");
function SignIn()
{
session_start();
if(!empty($_POST['user'])){
$query = mysqli_query($con,"SELECT * FROM websiteusers WHERE userName = '$_POST[user]' AND pass = '$_POST[pass]'") or die(mysqli_error($con)); //changed
$row = mysqli_fetch_array($query) or die(mysqli_error($con));
if(!empty($row['userName']) && !empty($row['pass'])) //changed to a more modern operator
{
$_SESSION['userName'] = $row['pass'];
echo "SUCCESSFULLY LOGIN TO USER PROFILE PAGE...";
}
else
{
echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY...";
}
}
}
if(isset($_POST['submit']))
{
SignIn();
}
?>
但它一直给我这个错误
“注意:未定义的变量:第12行的C:\ xampp \ htdocs \ test2 \ Sign-in \ connectivity.php中的con
警告: mysqli_query()要求参数1为mysqli,在第12行的C:\ xampp \ htdocs \ test2 \ Sign-in \ connectivity.php中给出null
注意:未定义的变量:第12行的C:\ xampp \ htdocs \ test2 \ Sign-in \ connectivity.php中的con
警告: mysqli_error()期望参数1为mysqli,在第12行的C:\ xampp \ htdocs \ test2 \ Sign-in \ connectivity.php中给出null“
帮助将受到重视
答案 0 :(得分:1)
您需要将$con
传递给函数,或将其声明为全局变量,因为它在当前范围内无法查看。
要将其作为参数传递,请执行以下操作:
SignIn($con);
接收
function SignIn($con)
答案 1 :(得分:1)
请不要将其声明为全球性的。这是一个坏主意。你需要将它作为参数传递。你在函数中看不到$con
的原因是函数有自己的范围。所以你可以声明$con
是其中的东西。将其作为参数传递,不会引起您引用的问题
$con= mysqli_connect($DB_HOST,$DB_USER,$DB_PASSWORD,$DB_NAME) or die("Failed to connect to MySQL");
function SignIn($con)
{
session_start();
if(!empty($_POST['user'])){
$query = mysqli_query($con,"SELECT * FROM websiteusers WHERE userName = '$_POST[user]' AND pass = '$_POST[pass]'") or die(mysqli_error($con)); //changed
$row = mysqli_fetch_array($query) or die(mysqli_error($con));
if(!empty($row['userName']) && !empty($row['pass'])) //changed to a more modern operator
{
$_SESSION['userName'] = $row['pass'];
echo "SUCCESSFULLY LOGIN TO USER PROFILE PAGE...";
}
else
{
echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY...";
}
}
}
if(isset($_POST['submit']))
{
SignIn($con);
}