首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怀疑下面的代码中有PHP-SQL错误。

我怀疑下面的代码中有PHP-SQL错误。
EN

Stack Overflow用户
提问于 2014-10-07 03:15:36
回答 1查看 48关注 0票数 0

这个代码块应该使用已经存储在表中的密码从我的数据库中检索数据。对于一些通过web表单输入的密码,它的行为是正确的。对其他人来说,情况并非如此。我花了很长时间试图修复它,但却做不到。

代码语言:javascript
复制
<?php
include('connect.php');

$login = $_POST['login'];
$query = mysql_query("select * from secure_table where  myPass = $login");
$row = mysql_fetch_array($query));

if( $_POST['login'] =  $row['myPass'])
{
  echo"<div align ='center'>";
   echo "Your Details are:"; 
   echo $row['surName'];
   echo"<br/>";
   echo $row['firstName'];
   echo"<br/>";
   echo $row['myDepartment'];
  echo"</div>";

}
else{
 echo "<div align = 'center'>;
  <h2>Error in Password</h2>
 </div>";
}
mysql_close($connection)
?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-07 03:19:17

你也需要改变这一行

代码语言:javascript
复制
if( $_POST['login'] =  $row['myPass'])

到这个

代码语言:javascript
复制
if( $_POST['login'] ==  $row['myPass'])

//使用双相等进行比较。单等号是赋值运算符。

代码语言:javascript
复制
$query = mysql_query("select * from secure_table where  myPass = $login"); 

如果$login不是整数,则查询错误。

改变到这个

代码语言:javascript
复制
 $query = mysql_query("select * from secure_table where  myPass = '$login'");

检查这个链接

http://dev.mysql.com/doc/refman/5.0/en/identifier-qualifiers.html

)在这行中删除这个

代码语言:javascript
复制
$row = mysql_fetch_array($query));

到这个

代码语言:javascript
复制
$row = mysql_fetch_array($query);

在编写和时,惟一的ChemistryBlob指出了,从该行中移除line语句中的分号;

代码语言:javascript
复制
echo"<div align = 'center'>;

还有一个人认为,mysql_函数是贬值的。

使用mysqli_函数或PDO

对于mysqli_函数,请检查此链接http://php.net/manual/en/book.mysqli.php

对于PDO,请检查此链接http://php.net/manual/en/book.pdo.php

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26228024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档