【问题标题】:Unable to select data from MySql database using Php [duplicate]无法使用 PHP 从 MySql 数据库中选择数据 [重复]
【发布时间】:2016-01-02 21:34:52
【问题描述】:

我无法从我在 phpMyAdmin 中创建的 MySql 数据库中选择数据。输出始终是:“无效的用户名”,即使我已经在 phpMyAdmin 中插入了我想从名为 st_login 的数据库和名为 login 的表中选择的数据。有人可以告诉我错误吗?

<html >
<head>
<title></title>
</head>
<body>
<?php
print ("<form action='logincontroltest.php' method='post'>

    <p>Username
        <input type='text' name='username' />
    </p>
    <p>Password
        <input type='password' name='password' >
        <p/>
    <input type='submit' value='Log In'/>
</form>");
extract ($_POST);
if( !($database=mysql_connect("localhost","root",""))||!(mysql_select_db("st_login",$database))  )
    print("Could not connect");
if(isset($_POST['username'])&&isset($_POST['password']) )
{
    $username=$_POST['username'];
    $password=$_POST['password'];
    if ( !empty($username) &&!empty($password) ) 
    {
        $query = " SELECT 'id' FROM login WHERE   'username'='$username' AND 'password'='$password'  ";
        if($result=mysql_query($query,$database))
        {
            $query_num_rows=mysql_num_rows($result);
            if ($query_num_rows==0){
                echo "invalid username";}
            else if($query_num_rows==1) {
                echo "You logged in successfully";
            }
        } 
        die (mysql_error());
    }
    else echo "Fill in all blank fields";
} 
    ?>
    </body>
</html>

【问题讨论】:

  • 查看以下链接 php.net/manual/en/function.mysql-error.php 和 php.net/manual/en/function.error-reporting.php 并将其应用于您的代码。
  • 请给出具体答复!
  • 这是一个具体的回应。如果你想要编码,你还需要做与领域相关的事情,这就是所谓的“调试”。如果你只是为了好玩,那就玩得开心。
  • 我已经结束了你的问题 ^ 我投票太早了。
  • SELECT 'id'你不用quotes封装表名,你使用反引号****, but in your case, id`没有保留,所以你可以使用id。跨度>

标签: php html mysql phpmyadmin


【解决方案1】:

阅读错误报告 - http://php.net/manual/en/function.mysql-error.php

而且,SQL 查询中的单引号不会破坏它吗?尝试使用这个:

$query = " SELECT id FROM login WHERE username='$username' AND password='$password' "

【讨论】:

  • 谢谢!即使正确答案是:$query = " SELECT id FROM login WHERE username='$username' AND password='$password' "; 它确实对我有帮助
  • @EldaBacka 您在此处接受当前状态的答案是在发送错误消息。这告诉社区和访问者这样使用它是正确的语法,而不是正确的答案。
  • 这就是为什么我在评论中写了正确的答案。这大约是一个正确的答案
  • @EldaBacka Still;错误讯息。此人需要相应地编辑他们的答案。评论就是评论。答案应该提供一个实际的“解决方案”。
  • 完成,谢谢指点。
猜你喜欢
  • 2019-02-11
  • 2020-01-08
  • 2016-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-21
  • 2013-07-19
  • 1970-01-01
相关资源
最近更新 更多