Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
Php Bool(false)在live上,但在localhost上工作_Php_Boolean - Fatal编程技术网

Php Bool(false)在live上,但在localhost上工作

Php Bool(false)在live上,但在localhost上工作,php,boolean,Php,Boolean,我在本地主机和实时主机上都有这段代码,但当我填写用户名和密码的文本区域时,在实时主机上总是bool(false)bool(false),但它会添加到主机的数据库中,但没有值,因为它是false 当我在本地主机上运行它时,它可以显示用户名、密码和散列值的结果,并将其添加到数据库中 <?php include "db.php"; require "lib/password.php"; if (isset($_POST['submit'])) {

我在本地主机和实时主机上都有这段代码,但当我填写用户名和密码的文本区域时,在实时主机上总是bool(false)bool(false),但它会添加到主机的数据库中,但没有值,因为它是false

当我在本地主机上运行它时,它可以显示用户名、密码和散列值的结果,并将其添加到数据库中

<?php

include "db.php";
require "lib/password.php";

    if (isset($_POST['submit']))
    {       
                    $username= $_POST['leguser'] ;
                    $password= $_POST['legpass'] ;  
                    $pwhash = password_hash($password, PASSWORD_DEFAULT) ;
                    $username = mysql_real_escape_string($username);
                    $password = mysql_real_escape_string($password);

                    echo var_dump ($username);
                    echo var_dump ($password);
                    echo var_dump ($pwhash);

        $sql = "SELECT * FROM tbl_users WHERE fld_username = '$username'";
        $result = $conn->query($sql);
        if ($result->num_rows == true) { 
                         echo "<script>alert('Username already used!');</script>"; }
                    else
                    {                               
        $q = "INSERT INTO `tbl_users` (`fld_username`,`fld_password`) VALUES ('$username','$pwhash')";
            $result = $conn->query($q);
                if ($result) {
                    echo 'success';
                } else {
                    echo 'failure: ' . mysql_error(); 
                }
                    }            

}


提前感谢您的帮助,我只是这个领域的初学者:)

通常,您应该首先减少示例代码,使其包含最小值。就目前情况而言,部分缺失,其他部分则是多余的。然后,格式化您的代码,毕竟您希望其他人阅读它。不过,在这里,您应该选择另一条路线,改用PDO。它会执行诸如字符串转义之类的操作,以避免SQL注入,这减少了您必须编写的代码量以及可能出现错误的位置。请检查数据库连接数据库连接是否正常,以及它是否连接了live和localhost。在$\u POST上执行var\u转储而不是指定的变量会得到什么?我只得到Bool(false)=username Bool(false)=password和哈希值(60个字符)和一个成功回音,通知我是否已将其插入数据库。