php – 致命错误:在非对象上调用成员函数query()
发布时间:2020-12-13 13:49:08 所属栏目:PHP教程 来源:网络整理
导读:我有这个错误: 致命错误:在第8行的/Applications/XAMPP/xamppfiles/htdocs/login.php中调用非对象的成员函数query() 这条线是这样的: $res = $mysqli-query("SELECT * FROM user WHERE user='$user' and password='$pw'"); 这是login.php: $user = $_POS
我有这个错误:
致命错误:在第8行的/Applications/XAMPP/xamppfiles/htdocs/login.php中调用非对象的成员函数query() 这条线是这样的: $res = $mysqli->query("SELECT * FROM user WHERE user='$user' and password='$pw'"); 这是login.php: $user = $_POST['user']; $pass = $_POST['pass']; $pw = md5($pass); include_once('connect.php'); function check_login($user,$pw,&$result){ $res = $mysqli->query("SELECT * FROM user WHERE user='$user' and password='$pw'"); $cont = 0; while($row = $res->fetch_object()){ $cont++; $result = $row; } if($cont == 1){ return 1; } else{ return 0; } } if(!isset($_SESSION['userid'])){ if(isset($_POST['login'])){ if(check_login($user,$result) == 1){ session_start(); $_SESSION['userid'] = $result->id_user; header("location:index.php?var=ok"); } else{ header('location:index.php?var=log'); } } } 和connect.php的代码: $mysqli = new mysqli('localhost','root','pass','cms' ); if ($mysqli->connect_error) { die('Error de Conexión (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); } 可能是什么问题呢?连接数据库的问题?
这很可能是一个
scoping问题.这意味着您在包含文件中定义的变量$mysqli不在check_login函数的作用域内(即在此函数中未知).
您可以尝试从全局范围获取$mysqli变量 function check_login($user,&$result){ global $mysqli; $res = $mysqli->query("SELECT * FROM user WHERE user='$user' and password='$pw'"); // ... 编辑:哦,你还应该注意代码中的SQL注入漏洞.使用prepared statements来防止这个问题(或至少使用像 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |