1

私はユーザー/ログインシステムを開発しています。このシステムでは、特定の条件が満たされたとき(つまり、ユーザー名とパスワードが一致したとき)にDB内のユーザー値を更新する小さなphp関数が以下にあります。ただし、ログインページでは何も起こらないようです。私はUbuntuを使用していますが、ターミナルで変数$pk_userが空であることが示されています。問題は、pk_userの値を出力したいのですが、echo、print_r、var_dumpはブラウザーに何も出力しないことです。私はCSSスタイルを持っていますが、それが理由でしょうか?関数は次のとおりです。

/* updateUserField - Updates a field, specified by the field parameter,
   in the user's row of the database, given the pk_user */

public function updateUserField($userkey, $field, $value)
{
    $q = "UPDATE users SET ".$field." = '$value' WHERE pk_user = '$userkey'";

    pg_query($this->link,$q);

    if(pg_last_error($this->link)) {
        return -1;
    }

    return 1;
}

コマンドラインのエラーメッセージは次のとおりです。

エラー:整数の入力構文が無効です: ""文字82ステートメント:UPDATE users SET usr_userid = '9bc44a3b3b0b911f7f932f06ab7d7b5c' WHERE pk_user =''

もちろん、私はDBに接続しpg_connect、その部分は正常に機能しています。

4

1 に答える 1

1

$userkey関数を呼び出すときに変数として整数を指定していません。したがって、クエリは失敗しています。実際に関数を呼び出すコードを確認して、整数が渡されない理由を判断してください。

于 2011-07-06T02:20:21.387 に答える