Php Bool(false)在live上,但在localhost上工作
我在本地主机和实时主机上都有这段代码,但当我填写用户名和密码的文本区域时,在实时主机上总是bool(false)bool(false),但它会添加到主机的数据库中,但没有值,因为它是false 当我在本地主机上运行它时,它可以显示用户名、密码和散列值的结果,并将其添加到数据库中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'])) {
<?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个字符)和一个成功回音,通知我是否已将其插入数据库。