2012-01-23 3 views
0

添付されている間に私のvarsを挿入するクエリを取得できません。もし私がそれを固めたら、それは挿入されます。Mysql INsert appened var

preg_match_all("/<\s*p[^>]*>([^<]*)<\s*\/\s*p\s*>/", $new_post, $matches); 

$article = ' '; 

foreach ($matches[0] as $media){ 
$article .= $media; 

} 

$query = "INSERT INTO blog_post (date,article,link) VALUES('$date','$article','$guid_clean')"; 
mysqli_query($dbc,$query); 

すべてが、私は$の記事をエコーすることができると私はハードに設定し、foreachのをスキップした場合、私も$記事を挿入することができ、IEで動作します。 $ dateと$ guid_cleanは正常に動作します。

+0

'preg_match_all()'で達成しようとしていることを教えてください。また、mysql_error()はクエリが成功しなかったときに何を伝えますか?あなたが 'mysql_real_escape_string()'を使っていないので、記事本文の間違った引用に賭けています。 –

+0

@Michael、thks ...コメントを削除するつもりです。それは誰もGoogleに良いとそれを読むことはありません。 Thks。 – Frankie

+0

@Michael、 'preg_match_all'は'

...

'の内容を抜き出しているようです。 –

答えて

2

入力変数をmysql_real_escape_string()でエスケープしていないため、記事本文内のアポストロフィや一重引用符が破損してSQL文が無効になっている可能性があります。

$article = mysql_real_escape_string($article); 
// And if necessary if these came from user input... 
$guid_clean = mysql_real_escape_string($guid_clean); 
$date = mysql_real_escape_string($date); 

$query = "INSERT INTO blog_post (date,article,link) VALUES('$date','$article','$guid_clean')"; 
mysqli_query($dbc,$query); 
+0

非常にありがとう – Cjueden