2009-11-23 7 views
1

Comment dois-je de prendre toutes les informations des thats soumises via POST à ​​une page, et à le stocker dans une base comme un tableau lisiblestocker des informations de post dans une base MySQL sous forme de tableau

En ce moment, j'ai cette fonction:

$mysql = mysql_query("INSERT INTO `table` (`sid`, `contents`) VALUES ('$sid', '$contents')") or die(mysql_error()); 
    if($mysql){ 
    return TRUE; 
    }else{ 
    return FALSE; 
    } 

quand je passe _POST $ pour le contenu $, est Array tout ce que je reçois dans le db je besoin d'une certaine façon de lire les valeurs de poste, les convertir en quelque chose de lisible, de les stocker et ensuite être capable de les récupérer sur et boucle à travers l'info à nouveau

+0

Crash cours PHP/MySQL: http://www.oreillynet.com/pub/a/php/2003/12/23/php_foundations.html – nash

Répondre

1

utilisation serialize:

génère une représentation stockable de une valeur Ceci est utile pour le stockage ou le passage valeurs PHP autour sans perdre leur type et leur structure.

Exemple:

// turn $_POST into a string that can be reconstructed to its original array form 
$postStr = serialize($_POST); 

Utilisez unserialize pour récupérer la chaîne comme un tableau:

// give me back my array 
$postArr = unserialize($postStr); 

Assurez-vous d'échapper correctement votre chaîne à l'aide mysql_real_escape_string avant d'insérer dans la base de données.

2

Bien que vous pouvez sérialiser un tableau et le stocker dans un champ MySQL, je ne recommanderais pas aller de cette façon. Vous n'exposez pas ce que vous essayez d'obtenir dans votre question, mais je pense que vous commencez simplement à utiliser MySQL.

La façon dont je recommande est de simplement concevoir une table appropriée avec des colonnes nommées d'après les valeurs que vous souhaitez stocker, puis de créer une requête appropriée pour stocker les valeurs séparément, pas comme un grand tableau sérialisé.

est ici un cours de l'accident: http://www.oreillynet.com/pub/a/php/2003/12/23/php_foundations.html

1

+1 à NASH. Ce que vous voulez réaliser est contre la normalisation de la base de données. Vous pouvez penser que c'est une bonne idée maintenant, mais vous ressentirez bientôt des remords. Si vous n'êtes pas à l'aise avec le niveau de base de données, vous pouvez essayer un ORM.

Questions connexes