'where子句中的未知列

时间:2013-03-30 00:36:51

标签: mysql

我几乎读过网络上关于'where子句中的未知列'dfsd'的每一个线程 dfsd是我使用post方法通过html表单输入的字符串。 php文件(表单数据发送的位置)只检查上面的行是否是现有的用户名。

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),我是否可能得到该错误?

2 个答案:

答案 0 :(得分:0)

使用marketusr.usrNameMarket代替usrNameMarket

答案 1 :(得分:0)

尝试:

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