web-dev-qa-db-fra.com

$ wpdb insert array

J'ai besoin d'insérer plusieurs tableaux. J'obtiens une erreur: mysql_real_escape_string () s'attend à ce que le paramètre 1 soit une chaîne, un tableau étant donné

Mon exemple de code:

 $array_info is 
    Array
(
[0] => Array
    (
        [0] => a
        [1] => b
        [2] => c
    )

[1] => Array
    (
        [0] => d
        [1] => e
        [2] => f
    )

)

 $data = array(
        'blog_id' => NULL,
        'post_id' => $id,
        'ing' => $array_info
        );
        $insert = $wpdb->insert($table_name, $data);
2
andys

Quelle est la structure de votre table? Sachez qu'un appel $ wpdb-> insert traduit le tableau en une instruction SQL de la forme

INSERT INTO table_name VALUES (value1, value2, value3,...)

Comme il n’existe pas de type de tableau pour les colonnes en sql, vous devez sérialiser un sous-tableau ou créer un champ séparé pour chaque élément du sous-tableau (et déplacer les éléments du sous-tableau vers le tableau principal).

Veuillez noter qu’il n’est généralement pas recommandé de disposer de données structurées dans un champ SQL.

2
Arevico