我已经阅读了网上几乎所有关于“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)而导致该错误?