[英]Why won't this PHP MySQL query work?
我有这个作为我的PHP代码:
$username=($_POST['username']);
$password=($_POST['password']);
$query="SELECT * from 'User' WHERE 'Username'='$username'";
mysql_query($query);
if($rows==0)
{
echo"<p> No rows found</p>";
}
else
{
while($row=mysql_fetch_array($query))
{
echo"rows found";
}
}
mysql_close($conn);
我的表单代码如下:
<form name="login" action="mydamhlogin.php" method="POST">
<p>Username:<input type="text" name="username"></p>
<p>Password<input type="password" name="password"></p>
<p><input type="submit" value="Login"></p>
</form>
我的数据库列名为Username,我正在尝试选择与从表单中获取的$ username匹配的行,但它始终不返回任何行,但这些行肯定在数据库中。
您正在使用错误的转义字符,因为单个qoutes使用反引号运算符而不是这样
$query="SELECT * from `User` WHERE `Username`='$username'";
$result = mysql_query($query);
此外$行是空的,你需要这样做
$rows = mysql_num_rows($result);
然后使用这个$ rows变量来检查它的值。
用这个
$query="SELECT * from `User` WHERE `Username`='$username'";
你不应该在表和列周围使用单引号,而是反引号
还加上这个
$rows = mysql_num_rows(mysql_query($query));
在此之前
if($rows==0)
编辑:
改变这一点
while($row=mysql_fetch_array(mysql_query($query)))
{
echo $row['username']; // this if you want output username , if you want something else just write column name
}
EDIT2。
这是你的代码
$username=($_POST['username']);
$password=($_POST['password']);
$query=mysql_query("SELECT * from `User` WHERE `Username`='$username'");
$rows = mysql_num_rows($query);
if($rows==0)
{
echo"<p> No rows found</p>";
}
else
{
while($row=mysql_fetch_array($query))
{
echo $row['username'];
}
}
mysql_close($conn);
在这里你错过了许多问题,因为$ rows没有任何值和$ query字符串。 我已修改它使用:
$username=($_POST['username']);
$password=($_POST['password']);
$query="SELECT * from `User` WHERE `Username`='".$username."'";
$exeQuery = mysql_query($query);
$rows = mysql_num_rows($exeQuery)
if($rows==0)
{
echo"<p> No rows found</p>";
} else {
while($row=mysql_fetch_array($exeQuery))
{
echo"rows found";
}
}
$query="SELECT * from User WHERE Username='$username'";
$result=mysql_query($query);
if($result===false) //instead of $rows
...
编辑:
if( ($result) && (mysql_num_rows($result)>0) )//instead of $rows
...
用这个,
$query="SELECT * from User WHERE `Username`='".$username."'";
查询的语法是错误的尝试这个
$query="SELECT * from User WHERE `Username`='".$username."'";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.