-1

我已经阅读了网上几乎所有关于“where 子句中的未知列“dfsd”的线程,dfsd 是我使用 post 方法通过 html 表单输入的字符串.. php 文件(表单数据所在的位置) sent) 只检查上面的行是否是现有的用户名。

function authCheck($usr,$psw){
print $usr;

mysql_real_escape_string($usr);
$sql = "select usrNameMarket from marketusr where usrNameMarket=$usr";

$result = mysql_query($sql) or die(mysql_error());

$records=mysql_num_rows($result);  //elenxw gia eggrafes

        if($records){
                $queryData=mysql_fetch_array($result);  

                if($queryData['usrNameMarket']==$usr){
                    $usrNameChk="ok";
                }       

                else{
                $usrNameChk=null;
                }

        }

        else{
                $usrNameChk=null;
        }
rest of the file ....

我从 MySQL 收到错误,告诉我该列不存在(尽管该值已正确传递,这就是为什么我使用 print 函数只是为了仔细检查它)...

我添加单引号:

$sql = "select usrNameMarket from marketusr where usrNameMarket='$usr'";

然后在执行 mysql_query 时出现语法错误...

然后我尝试了

$sql = "select usrNameMarket from marketusr where usrNameMarket='".$usr."'";

我仍然得到相同的语法错误。

我不知道出了什么问题我已经尝试了所有方法...是否有可能由于数据库结构或方案或该字段的数据类型(即 varchar)而导致该错误?

4

2 回答 2

0

使用marketusr.usrNameMarket而不仅仅是usrNameMarket

于 2013-03-30T00:40:55.113 回答
0

尝试:

$sql = "select usrNameMarket from marketusr where usrNameMarket='$usr'";
于 2013-03-30T00:42:25.607 回答