0

こんにちは、配列リスト android を URL 経由で php に送信していますが、正常に挿入されていますが、開始 [ および終了 ] このブレーキも挿入されています。削除したいです。

私は次のコードを試します..

<?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";
    }
?>

ブラケットの開始と終了を削除する方法を教えてください

4

2 に答える 2

1

PHPについてはわかりませんが、Mysqlではそのようになっています

INSERT INTO test (menuname) VALUES (replace(replace(value, '[', ''), ']', ''))
于 2012-04-07T05:44:06.347 に答える
0

データが
[menu1,menu2,menu3]
のようになっている場合、substr を使用してブラケットをダンプし、分解して次のように分解できます。

$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 つの長いクエリを作成することで、mysql で一度に複数の行を挿入できます。

INSERT INTO test (menuname) VALUES (value1), VALUES(value2) ....
于 2012-04-07T10:36:17.947 に答える