Php没有从mysql中获取数据

时间:2015-04-21 08:15:38

标签: php mysql

我创建了一个登录表单和一个处理sql连接的连接页面。每次打印“查询未检索”。我想使用文本框中给出的登录详细信息运行查询。如果为真,则必须将第一个名称存储在会话中。

这是我用来链接php的数据库的结构

数据库z1760359

表成员

        member ID  firstName  lastName  userName  password

的index.php

<html>
<head>
<style>
#login
{

    position:absolute;
    top: 30%;
    bottom: 30%;
    left:30%;
    right:30%;
    margin: 0px auto;
 }

</style>
</head>
<body>
<?php
session_start();

echo"<center>";
echo"<div id=\"login\">";

 echo"<form method=\"POST\" action=\"connectivity.php\">";
 echo"<b>Username</b>  <input type =\"text\" name=\"username\">";
 echo"<br/><br/>";
 echo"<b>Password</b>&nbsp;<input type =\"password\" name=\"password\">";
 echo"<br/><br/>";
 echo"<input type=\"submit\" value=\"submit\">";

 echo"</div>";
 echo"</center>";
 ?>

 </body>
 </html>

connectivity.php

<?php
 $username = $_POST['username'];
$password = $_POST['password'];
$host="localhost";
$uname="root";
$pword="";
$db="z1760359";
$conn=mysqli_connect($host,$uname,$pword,$db) or die("Oops something went   wrong");
session_start();
$query="Select firstName  from member where userName=$username, password=$password";
if(!empty($_POST['username']))
  {
     $query_first=mysqli_query($conn,$query) or die(" Query not retrieved");
     $query_second=mysqli_fetch_assoc($query_first);
     if(!empty($row['username']) AND !empty($row['password']) )
        {
           $_SESSION['user_name']=extract($query_second);
        }
        else
   {
        echo"wrong password";
    }

   }
   else
    {
      echo"please enter the password or username";
    }
  echo"$password";
  echo"<br>";
  echo"$username";
  ?>

5 个答案:

答案 0 :(得分:3)

如果您不使用预准备语句,则必须在mysql中使用单引号:

$query="Select firstName  from member where userName='$username' AND password='$password'";

此外,您必须在条件之间使用逻辑运算符。

答案 1 :(得分:3)

在你的代码&#34; mysqli_query&#34;返回false,因此您应该使用mysqli_error()打印有关错误的更多详细信息并相应地继续前进。

答案 2 :(得分:0)

在我的mysql查询中使用变量时使用单引号

$query="Select `firstName`  from `member` where `userName`='".$username."' and `password`='".$password."'";

答案 3 :(得分:0)

查询错误。在比较值时,您缺少单引号,而您缺少AND运算符。

$query="Select firstName  from member where userName='$username' and password='$password'";

答案 4 :(得分:0)

您的查询中存在错误。 条件应该用AND分隔,而不是用逗号分隔,你应该在字符串值周围添加单引号。 所以你的查询应该是:

Select firstName  from member where userName='$username' AND password='$password'

而不是:

Select firstName  from member where userName=$username, password=$password