Il me manque quelque chose ici.
Je veux simplement obtenir des données de ma base de données. J'ai donc essayé cela mais continue de me donner une erreur.
global $wpdb;
$sql = "SELECT * FROM $wpdb->postmeta WHERE group='$group'";
$results = $wpdb->get_results($sql) or die(mysql_error());
foreach( $results as $result ) {
echo $result->company_name;
}
$group
est un paramètre passé dans l'URL de la variable est $group = $_GET['group'];
C'est l'erreur:
Erreur de base de données WordPress: [Vous avez une erreur dans votre syntaxe SQL; Consultez le manuel correspondant à la version de votre serveur MySQL pour connaître la syntaxe à utiliser près de 'groupe =' bicyclegroup '' à la ligne 1] SELECT * FROM xx_postmeta WHERE groupe = 'thegroup' Votre syntaxe SQL contient une erreur; Consultez le manuel correspondant à la version de votre serveur MySQL pour connaître la syntaxe à utiliser près de 'groupe =' thegroup '' à la ligne 1.
Quelqu'un peut-il m'aider à résoudre ce problème une fois pour toutes afin que je puisse le sauvegarder localement et l'utiliser pour d'autres projets :-)
C'est peut-être parce que group
n'existe pas dans la table postmeta. Votre meta_key s'appelle probablement group et a un meta_value sur bicyclegroup . Cela suppose que vous n'avez pas modifié la table postmeta. Ce que vous pouvez essayer, c'est:
$sql = "SELECT * FROM $wpdb->postmeta WHERE meta_key = 'group' AND meta_value='$group'";
Cela retournera:
Une autre option est d’obtenir tous les messages post par meta soit un requête secondaireWP_Query . Pour ce faire, ressemblerait à ceci:
$test_posts = new WP_Query( array(
'post_type' => 'post',
'posts_per_page' => -1,
'meta_key' => 'group',
'meta_value' => $group
) );
<?php if( $test_posts->have_posts() ) : ?>
<?php while( $test_posts->have_posts() ) : $test_posts->the_post(); ?>
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>
<?php endwhile; ?>
<?php endif; ?>
Je ne sais pas si vous utilisez post
, votre type de publication afin de modifier ce champ en conséquence.