2012-04-07 8 views

答えて

1

を教えてください、私はPHPのことは知らないが、MySQLで、それはその

ようなものですしてください

<?php 
    $arr=explode(',',preg_replace('/^\[(.*)\]$/','$1',$_POST['menuname'])); 
    mysql_connect("localhost","root","root"); 
    mysql_select_db("test"); 
    foreach($arr as $value){ 
     mysql_query("INSERT INTO test (menuname) VALUES ('" . 
     mysql_real_escape_string($value) . "')")or 
     die('unable'.mysql_error()); 
     echo "inserted"; 
    } 
?> 

..次のコードを試してみてください

INSERT INTO test (menuname) VALUES (replace(replace(value, '[', ''), ']', '')) 
+1

PHPはほとんど同じであるあなたが追加する必要がありますすべてのあなたの質問を投稿はありませんデータベースをmysql_queryに追加する構文です... mysql_query(INSERT INTO test(menuname)VALUES(replace(replace、value、 '['、 '') ']'、 '' )) ")"; ' MySQLの' str_replace() 'にデータを送る前に、PHPのreplace関数を使うこともできます。http://php.net/manual/en/function.str-replace.php – sikas

+0

mysql_query( "INSERT INTO test(menuname)VALUES"を置き換えます(replace(value、 '['、 '')));この行は配列リストがデータベースに挿入できないことを意味します方法 – prakash

+0

私の質問のために再生してください。 – prakash

0

あなたのデータは次のようになります場合:BTW

$arr=explode(',',substr($_POST['menuname'],1,-1)) 

... 

foreach($arr as $value){ 
$val=mysql_real_escape_string($value); 
mysql_query("INSERT INTO test (menuname) VALUES ('" . $val . "')")or 
     die('unable'.mysql_error()); 

... 


[メニュー1、MENU2、MENU3]
、あなたは括弧をダンプするSUBSTRを使用することができ、その後、そのように、それを破るために爆発します。あなたは、長い方のクエリを作成することで、MySQLで一度に複数の行を挿入することができます。

INSERT INTO test (menuname) VALUES (value1), VALUES(value2) .... 
+0

私はtheis [menu1、menu2、menu3]のように置いていません..今私は最初のブラケットと最後のブラケットを削除したい – prakash

+0

私は上記の私の答えを一致するように変更しました、substrは2つの数値パラメータ(2番目と3番目のパラメータ)最初の文字のインデックス(0から始まります)と最後の文字をスキップする文字数を指定します。 – Swav

関連する問題