-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 に答える