2012-04-07 13 views
0

Hallo Sir ich bin senden Sie die Array-Liste Android php durch URL es ist auch erfolgreich einfügen, aber Start [und Ende] diese Bracets auch eingefügt, ich möchte es entfernenwie man [,] Klammern beim Einfügen in MySQL-Datenbank mit PHP

i den folgenden Code versuchen ..

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

bitte, wie die Halterung Start entfernen und Ende bitte sagen sie mir

+0

Es gibt keine Notwendigkeit Hölle hallo hier posten zu sagen, nur Ihre Frage direkt –

Antwort

1

ich weiß nicht, über PHP aber in Mysql ist es so, dass

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

PHP ist so ziemlich das gleiche, alle müssen Sie hinzufügen ist die Syntax, die der Datenbank 'mysql_query' hinzugefügt wird ... Also wird es' mysql_query ("INSERT INTO test (menusame) VALUES (ersetzen (ersetzen (wert, '[', ''), ']', '')) ";' Sie können die Replace-Funktion auch in PHP verwenden, bevor Sie die Daten an die MySQL-Datei 'str_replace()' senden. Http://php.net/manual/en/function.str-replace.php – sikas

+0

ich kann add mysql_query ("INSERT INTO test (menusame) VALUES (ersetzen (ersetzen (Wert, '[', ''), ']', '')); diese Zeile bedeutet, dass die Array-Liste nicht in die Datenbank einfügen kann, bitte sagen Sie mir wie – prakash

+0

bitte wiederholen für meine Frage – prakash

0

Wenn Ihre Daten wie folgt aussehen:
[menu1, menu2, menu3]
dann Sie substr verwenden könnten die Klammern zu entleeren und dann explodieren zu brechen, etwa so:

$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()); 

... 

BTW . Sie können mehrere Zeilen in einem Rutsch in mysql einfügen, indem man die Erstellung länger Abfrage:

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

nein meine out wie theis gesetzt [menu1, menu2, menu3] .. jetzt möchte ich erste braket entfernen und letzte braket – prakash

+0

Ich habe meine Antwort oben geändert, um übereinzustimmen, substr nimmt zwei numerische Parameter (zweiten und dritten Parameter), zweite erzählt Index des ersten Zeichens (sie beginnen bei 0) und der dritte, falls negativ, wie viele Zeichen am Ende übersprungen werden sollen. – Swav