0

これが単なるタイプミスではないことを願っていますが、私は頭がおかしいです。このコード形式と構文は、私の別のプロジェクトでも機能しますが、何も得られません。

注 1: 変数はすべて入力されています。エコーで確認しました。

注 2: すべてのフィールド名が MySQL テーブルの実際のフィールド名であることを確認しました。すべてが少なくとも 30 の varchar です (これについては説明しませんでした)。

注 3: メッセージは次のとおりです。エラー SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。''username', 'userpassword', 'personname', 'familyname') VALUES ('hwilson':,'hwil' at line 1)

どんな助けでも感謝します。

try {
    // THIS IS THE SECURE STUFF!
$sql = "INSERT INTO persons (username, userpassword, personname, familyname) VALUES (:username:,:userpassword,:personname,:familyname)";
    $q = $pdo->prepare($sql);
    $q->execute(array(':username'=>$username,
                      ':userpassword'=>$userpassword,
                      ':personname'=>$personname,
                      ':familyname'=>$familyname));
}
    catch(PDOException $e)
    {
        echo "Error " . $e->getMessage();
    }
}
4

2 に答える 2

3

:username:これを試してください::username

于 2012-12-11T19:56:54.960 に答える
2

ユーザー名パラメーターのプレースホルダーの後に 2 つ目のコロンがあるようです

于 2012-12-11T19:57:15.220 に答える