2010-03-30 3 views
0

J'ai besoin d'aide pour insérer des chaînes séparées par des virgules dans plusieurs colonnes en db.Diviser une chaîne séparée par des virgules en plusieurs colonnes en db-php

Ma sortie de valeur $_POST['search']. [search] => schools,books,mobile

Comment puis-je créer un foreach ou insérer ces données dans db? : S

+1

est votre question sur la boucle foreach ou sur l'insertion dans le db? – Ben

+1

Cherchez-vous la fonction exploser ou est-ce que je me méprends? – Wolph

+1

À quoi ressemble votre définition de table (z.e. quelles colonnes avez-vous)? –

Répondre

1

Vous pouvez utiliser la fonction d'éclatement.

$queries=explode(',', $_POST['search'] 

maintenant $query est un tableau contenant les valeurs séparées. Ensuite, vous faites votre requête, mais sans plus d'informations à ce sujet, je dois arrêter ici.

0
    $post = $_POST['search']; 
       $queries = explode(',', $post); 
       foreach($queries as $query) { 
        $db->Execute("INSERT INTO tags SET name = '".$query."'"); 
       } 

Cela semble travaillé pour moi ..

j'utilisais les informations de @ Klez

+0

Il s'agit de plusieurs lignes et non de plusieurs colonnes. Aussi, vous ne devriez pas mettre une entrée utilisateur brute dans une requête SQL comme ça. Que faire si l'utilisateur tape 'php ', priority =' 3000' –

+0

Comme mentionné par Alexandre, vous voudrez regarder dans mysql_escape_string/mysql_real_escape_string, ou les fonctions similaires nommées pour mysqli. – NuclearDog

Questions connexes