javascript - PHP/MySQL 查询问题

标签 javascript php mysql post jscript

我正在尝试为网站设置基本登录系统,但在使查询正确运行时遇到重大问题。到目前为止,我试图弄清楚发生了什么的一切都失败了。据我所知,查询本身没有失败,但它也没有返回任何数据。在 phpMyAdmin 中使用查询会返回正确的查询信息。

这是我的 php 代码:

<?PHP

//Empty error variables
$sqlerror;

if(empty($_POST['uname']))
{
    $data = "false,Username field empty";
    echo json_encode($data);
    return false;
}

if (empty($_POST['pword']))
{
    $data = "false,Password field empty";
    echo json_encode($data);
    return false;
}

$username = $_POST['uname'];
$password = $_POST['pword'];

echo $username."<br/>";

echo $password."<br/>";

if(!CheckDB())
{
    $data = "false,".$sqlerror;
    echo json_encode($data);
    return false;
}

else
{
    CheckDBL();
}

function CheckDB()
{
    echo "Made it to CheckDB! <br/>";
    $connection = mysqli_connect("xxxx","xxxx","xxxx","xxxx");

    if(mysqli_connect_errno())
    {   
        $sqlerror = "Could not log in to database";
        return false;
    }
    
    echo "Connection established! <br/>";
    mysqli_close($connection);
    return true;    
}

function CheckDBL($username,$password)
{
    echo "Made it to CheckDBL! <br/>";
    $sql =  mysqli_connect("xxxx","xxxx","xxxx","xxxx");
    
    if(mysqli_connect_errno())
    {
        echo "Connection failed";
        return false;
    }
    
    

if ($query = mysqli_prepare($sql,"Select Password From login_info Where Username = ?"))
    {
        mysqli_stmt_bind_param($query, "s", $username);
            
        if (!mysqli_stmt_execute($query))
        {
            echo "Query failed! <br/>"; 
            echo mysqli_error($sql);
            return false;
        }
                                                        
        else
        {
            echo "Query successful <br/>";
        }
        
        mysqli_stmt_bind_result($query,$password2);
        mysqli_stmt_fetch($query);  
                                        
        echo "The password is: ".$password2;
    }
    
    else
    {
        echo "Statement preparation failed <br/>";
    }
}
?>

这段代码在我的浏览器中的输出:

GWil

TestPassword

Made it to CheckDB!

Connection established!

Made it to CheckDBL!

Query successful

The password is:

最佳答案

$connect = mysqli_connect("localhost","root","","database") or die (mysqli_error($connect));
mysqli_set_charset($connect,"utf8");

$username="hej";

if ($query = mysqli_prepare($connect,"Select Password From login_info Where Username =?")){

mysqli_stmt_bind_param($query, "s", $username);

    if (!mysqli_stmt_execute($query)){

    echo "Query failed! <br/>"; 
    echo mysqli_error($query);
    return false;
    }else{
    echo "Query successful <br/>";
    }
mysqli_stmt_bind_result($query,$password2);<br/>
mysqli_stmt_fetch($query);<br/> echo "The password is: ".$password2;<br/>
}else{
echo "Statement preparation failed";}

在表login_info中我有用户名=hej和密码=123

这将实现您正在寻找的东西。

关于javascript - PHP/MySQL 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24098706/

相关文章:

php - 在单独的关键字表中搜索最匹配的 id

mysql - 关于MySQL按日期筛选数据的问题

javascript - 在JS中正确使用typeof运算符?

javascript - 创建 <video> 并向其附加媒体流

javascript - jquery运行时对象状态维护

python - 发送电子邮件但从 python 删除字符串中的 'L'

mysql - 从不同的表生成用户帖子数和线程数

javascript - javascript中函数和对象没有区别吗?

php - 初学者关于PHP的疑问

php - 检查 MySQL 表是否存在