現在、私のコードをMySQLからPDOに変換するプロセスが進行中ですが、変数を渡す際に問題が発生しています。変数の内容を編集して、起こっていることを正確に把握しています。PDOでHTMLを挿入する
$status = 'Pending';
$stmt = $db->prepare("INSERT INTO
cusbuilder_sites(userid,name,imgurl,url,explain,status,incustom) VALUES
(:userid,:campname,:imgurl,:targeturl,:explain,:status,:incustom)");
$explain = '<p>Testing Input</p>';
$stmt->bindParam(':userid', $username);
$stmt->bindParam(':campname', $_POST['campname']);
$stmt->bindParam(':imgurl', $_POST['imgurl']);
$stmt->bindParam(':targeturl', $_POST['targeturl']);
$stmt->bindValue(':explain', $explain, PDO::PARAM_STR);
$stmt->bindParam(':status', $status);
$stmt->bindParam(':incustom', $_POST['incustom']);
$stmt->execute();
は今、これは私が取得していますエラーです:
:メッセージでキャッチされない例外「PDOException」「SQLSTATE [42000]:構文エラーまたはアクセス違反:1064あなたは、あなたのSQL構文でエラーが発生しています。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして、正しい構文が「説明、ステータス、不得手」の近くで使用されるようにしてください)VALUES( 'myuserid'、 'testing12'、 '' at line 1 '
$ explain変数にはHTMLコードが含まれていますが、pタグを削除するとうまく動作しますが、実際にMySQLで行ったようにHTMLをデータベースに格納する必要があります。
この質問に対する回答を読んだことがあります私の前のコードでは、明らかにPDOで使えないmysql_real_escape_stringを使っていたので、変数にHTMLを渡してPDOを使ってデータベースに挿入する方法を知りたいのですが?
「bindParamの代わりにbindValueを使う」と答えようとしている人には、私はすでにこれを行い、エラーは同じであることがわかります。
は今、別のエラーを取得:識別子としてそれらを指定する(MySQLを想定し、他の文字は、他のデータベースで使用することができる)バックティックであなたの識別子を囲み致命的なエラー:メッセージ「SQLSTATEでキャッチされない例外「PDOException」[ 42000]:構文エラーまたはアクセス違反:1064 SQL構文にエラーがあります。 '' userid'、 '' name''、 '' imgurl''、 '' url''、 '' explain''、 '' status''、 '' incustom'の近くで使用する正しい構文についてはMySQLサーバのバージョンに対応するマニュアルをチェックしてください)VALUES( 'myuserid '1行目' – jay32mcr
@ jay32mcr:使用しているクエリを表示できますか? – David
すべてのコードはすでに上にあります。ユーザーIDは既に割り当てられており、POST変数は ':フォームは、しかし、私は私が「説明」取るならば、それはとてもそこフォームに問題はありませんが、念のために動作することを言及しなかった
' CKeditorを使用しているため、HTMLを送信する必要があるのです。 – jay32mcr