Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要对netbeans或服务器配置进行哪些更改才能使我的项目正确运行php代码_Php_Apache_Mysqli_Netbeans_Runtime Error - Fatal编程技术网

我需要对netbeans或服务器配置进行哪些更改才能使我的项目正确运行php代码

我需要对netbeans或服务器配置进行哪些更改才能使我的项目正确运行php代码,php,apache,mysqli,netbeans,runtime-error,Php,Apache,Mysqli,Netbeans,Runtime Error,我有一个php文件用于下面的登录页面。连接的html页面上表单中的用户名和密码在数据库中,但当我单击“提交”时,我会看到连接被重置错误页面。我错过了什么?这是在netbeans中实现的,我使用的是mysql服务器和apacheweb服务器。还有一个附加的注销选项,选择它只会导致浏览器提示如何处理它(保存或打开)。我已经尝试将userId和passID的值更改为数据库中的值,但仍然不起作用。我做错了什么?在移动了一些文件之后,我得到了下面的信息 警告:mysqli\u real\u escape\

我有一个php文件用于下面的登录页面。连接的html页面上表单中的用户名和密码在数据库中,但当我单击“提交”时,我会看到连接被重置错误页面。我错过了什么?这是在netbeans中实现的,我使用的是mysql服务器和apacheweb服务器。还有一个附加的注销选项,选择它只会导致浏览器提示如何处理它(保存或打开)。我已经尝试将userId和passID的值更改为数据库中的值,但仍然不起作用。我做错了什么?在移动了一些文件之后,我得到了下面的信息

警告:mysqli\u real\u escape\u string()预期参数1为mysqli,第14行的C:\WampDeveloper\Websites\DefaultWebsite\webroot\Loginpage.php中给出的字符串警告:mysqli\u real\u escape\u string()预期参数1为mysqli,第15行的C:\WampDeveloper\Websites\defaultwebroot\Loginpage.php中给出的字符串拒绝访问

<?php
    session_start();
    include("dbconfig.php");
    $dbname="sailingdb";
    $errorvar = "";
    if (isset($_POST['submit'])) {
        if (empty($_POST['user']) || empty($_POST["pass"])) {
            $errorvar = "Both field are required";
        } else {
            //defining and injection protecting data
            $userID=$_POST['user'];
            $passID=$_POST["pass"];
            $userID=stripslashes($userID);
            $passID=stripslashes($passID);
            $userID=mysqli_real_escape_string($dbname, $userID);
            $passID=mysqli_real_escape_string($dbname, $passID);
            $passID=md5($passID);

            $query = "SELECT * FROM users where userName = '$userID' AND pass = '$passID'";
            $queryresult=mysqli_query($dbname,$query);
            $row = mysqli_fetch_array($queryresult,MYSQLI_ASSOC);
            if (mysqli_num_rows($queryresult)==1) {
                $_SESSION['userName'] = $userID;
                header("MainMenu.html");
            } else {
                header("MainMenu.html");
                echo "Acess denied";
            }
       }
    }
?>

下面是dbconfig.php代码

<?php
    $servername="localhost";
    $user="root";
    $passw="*****";
    $dbname="Sailingdb";
    $conn=new mysqli($servername, $user, $passw, $dbname);
    if (mysqli_connect_error()) {
        die("Databse connection failed:    " . mysqli_connect_error());
    }
?>

消息说:

mysqli_real_escape_string()要求参数1为mysqli,string 给定

因为您的dbconfig.php中有以下内容:

$conn=new mysqli($servername, $user, $passw, $dbname);
您可以尝试这样做:

$userID=mysqli_real_escape_string($conn, $userID);
$passID=mysqli_real_escape_string($conn, $passID);

不太了解mysqli,但ReadingFM建议您的mysqli_查询函数应该传递连接对象的结果,而不是数据库名称$row=mysqli_fetch_数组($queryresult,mysqli_ASSOC);同样的结果。呃,不清楚。。。如果不使用它创建的连接对象,为什么还要包含“dbconfig.php”?这是什么意思?我以为数据库连接是通过include实现的。有人知道问题出在哪里吗?