J'écris une requête pour insérer des données dans la base de données mais lorsque j'imprime une requête à la sortie, celle-ci se transforme en requête "SHOW COLUMNS from tbl_name". Je vous écris ci-dessous requête. Mais il s’exécute comme dans l’image
$table_name1 = $wpdb->prefix . 'fullcontact';
$sql1=$wpdb->insert( $table_name1, array(
'status' => $status,
'request_id' => $req_id,
'likelihood' => $likelihood,
'photos' => $photos,
'chats' => $chats,
'websites' => $websites,
'fullname' => $fullname,
'familyname' => $familyname,
'givenname' => $givenname,
'organisation' => $organisation,
'normalizedlocation' => $normalizedlocation,
'city' => $city,
'state' => $state,
'country' => $country,
'age' => $age,
'agerange' => $agerange,
'gender' => $gender,
'locationgeneral' => $locationgeneral,
'socialprofiles' => $socialprofiles,
'scores' => $scores,
'topics' => $topics
) );
//exit( var_dump( $wpdb->last_query ) );
$wpdb->show_errors();
$wpdb->print_error($sql1);
Pour quiconque trouve cette question. Wordpress semble effectuer une requête SHOW FULL COLUMNS
avant d'exécuter la requête INSERT
. S'il détermine que la requête INSERT
échoue/stocke des données incorrectes, par exemple parce que les types de données donnés ne tiennent pas dans la colonne, il n'exécute pas du tout la requête d'insertion et renvoie false.
Vérifier:
Juste le même problème, le correctif était que j'ai essayé d'ajouter varchar plus longtemps que le champ de base de données peut contenir. Quand changé la base de données il a travaillé à nouveau