Php MySQLi查询未正确返回结果
我正在尝试将我的网站切换到MySQLi,并遵循W3schools-MySQLi指南这样做。不过,我遇到了一个障碍。我有一个功能来检查指定的用户是否是网站的管理员。我在不同的地方放置了Php MySQLi查询未正确返回结果,php,mysql,mysqli,Php,Mysql,Mysqli,我正在尝试将我的网站切换到MySQLi,并遵循W3schools-MySQLi指南这样做。不过,我遇到了一个障碍。我有一个功能来检查指定的用户是否是网站的管理员。我在不同的地方放置了echo,以找到问题所在,我发现它很可能没有看到用户$username设置为变量$user。以下是整个代码块(connect.php的一部分: <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "lark
echo
,以找到问题所在,我发现它很可能没有看到用户$username
设置为变量$user
。以下是整个代码块(connect.php的一部分:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "lark";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if(!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
session_start();
if(!isset($_SESSION["user_login"])) {
$user = "";
} else {
$user = $_SESSION["user_login"];
}
//functions
function isAdmin($username) {
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "lark";
$conn = mysqli_connect($servername, $username, $password, $dbname);
$sql_get_is_admin = "SELECT * FROM users WHERE username='$username' LIMIT 1";
$get_is_admin = mysqli_query($conn, $sql_get_is_admin);
if(mysqli_num_rows($get_is_admin) > 0) {
echo "num_rows";
while ($row = mysqli_fetch_assoc($get_is_admin)) {
$is_admin_bool = $row['admin'];
echo "while";
if($is_admin_bool == 0){
return false;
} elseif ($is_admin_bool == 1) {
return true;
}
}
} else {
echo "not found.";
}
}
?>
我还必须重新连接到数据库,否则我会在网站上出现以下错误:
Notice: Undefined variable: conn in C:\xampp\htdocs\lark\connect.php on line 33
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\lark\connect.php on line 33
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\lark\connect.php on line 35 not found.
如果我修复了它,所以没有错误,它只会说“找不到”。您的函数中没有$conn,它会被注释掉
function isAdmin($username) {
/*$servername = "localhost";
$username = "root";
$password = "";
$dbname = "lark";
$conn = mysqli_connect($servername, $username, $password, $dbname);*/
您的函数中没有$conn,它被注释掉了
function isAdmin($username) {
/*$servername = "localhost";
$username = "root";
$password = "";
$dbname = "lark";
$conn = mysqli_connect($servername, $username, $password, $dbname);*/
您的函数中没有$conn,它被注释掉了
function isAdmin($username) {
/*$servername = "localhost";
$username = "root";
$password = "";
$dbname = "lark";
$conn = mysqli_connect($servername, $username, $password, $dbname);*/
您的函数中没有$conn,它被注释掉了
function isAdmin($username) {
/*$servername = "localhost";
$username = "root";
$password = "";
$dbname = "lark";
$conn = mysqli_connect($servername, $username, $password, $dbname);*/
未在函数中定义$conn变量,例如:
function isAdmin($username) {
global $conn;
..................
}
未在函数中定义$conn变量,例如:
function isAdmin($username) {
global $conn;
..................
}
未在函数中定义$conn变量,例如:
function isAdmin($username) {
global $conn;
..................
}
未在函数中定义$conn变量,例如:
function isAdmin($username) {
global $conn;
..................
}
它被编辑掉了,所以我可以知道错误是什么,我的错。我修复了它。你仍然会收到相同的错误,这已经解决了,或者还有其他错误?其他错误可能是你双重分配了$username。我没有收到错误,但它说“找不到”这意味着它找不到指定的用户。在本例中指定的用户应该存在,因为它是登录的用户。根据数据库,有一个登录的用户是管理员。是的,您在函数中设置了两次
$username
,它是“root”。您用sql连接覆盖传入的内容。哈哈,我甚至没有冰。谢谢,这修复了它。我只是希望我不必连接到函数中的数据库,即使我已经连接过一次。它被编辑掉了,这样我可以知道错误是什么,我的错。我修复了它。你仍然会收到相同的错误,这已经解决了,或者还有其他错误?其他错误可能是你双重分配$username。我不知道错误,但上面写着“找不到”这意味着它找不到指定的用户。在本例中指定的用户应该存在,因为它是登录的用户。根据数据库,有一个登录的用户是管理员。是的,您在函数中设置了两次$username
,它是“root”。您用sql连接覆盖传入的内容。哈哈,我甚至没有冰。谢谢,这修复了它。我只是希望我不必连接到函数中的数据库,即使我已经连接过一次。它被编辑掉了,这样我可以知道错误是什么,我的错。我修复了它。你仍然会收到相同的错误,这已经解决了,或者还有其他错误?其他错误可能是你双重分配$username。我不知道错误,但上面写着“找不到”这意味着它找不到指定的用户。在本例中指定的用户应该存在,因为它是登录的用户。根据数据库,有一个登录的用户是管理员。是的,您在函数中设置了两次$username
,它是“root”。您用sql连接覆盖传入的内容。哈哈,我甚至没有冰。谢谢,这修复了它。我只是希望我不必连接到函数中的数据库,即使我已经连接过一次。它被编辑掉了,这样我可以知道错误是什么,我的错。我修复了它。你仍然会收到相同的错误,这已经解决了,或者还有其他错误?其他错误可能是你双重分配$username。我不知道错误,但上面写着“找不到”这意味着它找不到指定的用户。在本例中指定的用户应该存在,因为它是登录的用户。根据数据库,有一个登录的用户是管理员。是的,您在函数中设置了两次$username
,它是“root”。您用sql连接覆盖传入的内容。哈哈,我甚至没有冰。谢谢,这解决了它。我只是希望我不必连接到函数中的数据库,即使我已经连接过一次。