如何在数据库中连接两列,然后选择所有值

时间:2015-09-13 22:21:45

标签: php mysql

这是我的代码,但是点击Login按钮会显示错误,如此

  

Connection MaintainedError:从注册中选择*,其中username =' abc'和密码=' 1234'

if(isset($_POST['log'])){
$uname = $_POST['uname'];
$pass = $_POST['pass'];
$dbm = new MySQLi("localhost","root","","lsa");
    if($dbm->connect_errno > 0){
        die("Error".$dbm->connect_error);
        }
        var_dump($dbm);
        echo "Connection Maintained";
        $up = "update signup set username = concat(First_name, ' ' , Last_Name)";
        $qm="select * from signup where username='$uname' and password='$pass'";
        if ($dbm->query($qm) === TRUE) {
            echo "New record created successfully";
            } else {
                echo "Error: " . $qm . "<br>" . $dbm->error;
                }   

$dbm->close();
  

这是我的登录表单代码*

<form action="Admin.php" method="post">
<fieldset style="text-align:center; margin-left:2%; margin-top:9%; margin-right:10%">
<legend style="text-align:start; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; color:#FFF; font-size:36px">Login
</legend>
<br /><input type="text" placeholder=" Username" name="uname" title="Your First Name" style="height:25px; width:200px" required="required"  /><br /><br />
<input type="password" placeholder=" Password" name="pass" style="height:25px; width:200px" required="required" /><br /><br />
<input type="submit" value="Login" name="log" style=" border-radius:50%; border-color:#FFF; width:100px" />
<br />
<br />
</fieldset>
</form>

1 个答案:

答案 0 :(得分:0)

引用php.net关于mysqli::query的返回值:

  

失败时返回FALSE。成功选择SELECT,SHOW,DESCRIBE或EXPLAIN   查询mysqli_query()将返回一个mysqli_result对象。对于其他成功   查询mysqli_query()将返回TRUE。

第12行是个问题。这个问题。为什么你会收到错误(至少有一个选项,请查看http://php.net/manual/en/mysqli.query.php

但这不是问题标题的答案,如果你 试图在数据库中连接数据并将数据与数据库中的更多数据进行比较然后使用子查询https://dev.mysql.com/doc/refman/5.0/en/subqueries.html

修改

此外,这只是我的怀疑,当您在查询失败后回显时,您没有收到错误代码/ str($dbm->error),这可能是因为它们没有错误而且{{ 1}}是$dbm->error

编辑2: 您似乎没有在代码中使用NULL,我错了吗?