2017-07-02 5 views
0

データベースフィールドに長いテキスト文字列としてVCARD情報を読み込もうとしています。場合によっては、vcard情報には "$ _"で終わるパラメータが付いています(最後の行から2行目を参照)。私はそれをエスケープするための文字列として変数にこれをもたらすためにPHPを得ることができません。

「通知:定義されていない変数:_ in C:」というエラーが表示されます。私は手動で2番目の$をエスケープすることができますが、その目的を破る。私はmetaquote()を試したが、どちらもうまくいきません。どのように私はこのエラーを回避することができますか?

+0

この文字列で何をしていますか?どのようにパッケージ化されていますか? – RiggsFolly

+0

私はその場でvcardファイルを生成できるように、データベースにvcard情報を保存しようとしていました。 –

答えて

0

二重引用符を一重引用符で置き換えます。二重引用符で囲まれた変数は、一重引用符で囲まれていないときに補間されます。

+0

暗闇の中に少し飛び込んでいます。 OPがやっていることをどうやって知っていますか?また、 [あなたが入力をエスケープしている場合、それは安全ではありません!](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) [preparedパラメータ化されたステートメント](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) – RiggsFolly

+1

引用されたテキストにパラメータがないように見えるため、SQLインジェクションを実行する可能性はありません。すべてがハードコードされています。 – Adrien

関連する問題