Una query è una richiesta di informazioni a un database. In MySQL, una query è una stringa di testo che viene inviata al server MySQL per eseguire un’operazione sul database. Le query MySQL possono essere utilizzate per recuperare dati da una tabella, filtrare i dati, ordinare i dati, unire le tabelle, raggruppare i dati e modificare i dati
Per scrivere una query MySQL, è necessario conoscere la sintassi della query e le regole per la scrittura delle query. Ad esempio, la sintassi di base per una query SELECT è la seguente:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
In questa sintassi, column1, column2, ecc. sono i nomi delle colonne della tabella che si vogliono selezionare table_name è il nome della tabella da cui si vogliono selezionare le colonne condition è l’opzione per filtrare i risultati della query.
un esempio di codice PHP che realizza la join tra due tabelle in WordPress:
global $wpdb;
$table1 = $wpdb->prefix . 'table1';
$table2 = $wpdb->prefix . 'table2';
$results = $wpdb->get_results("SELECT * FROM $table1 INNER JOIN $table2 ON $table1.id = $table2.table1_id");
In questo esempio, $wpdb è un oggetto globale che rappresenta l’istanza del database di WordPress1$wpdb->prefix restituisce il prefisso della tabella del database di WordPress1$table1 e $table2 sono le tabelle che si vogliono unire. La query SQL viene eseguita con il metodo get_results().
In PHP, stdClass è una classe predefinita che viene utilizzata per creare oggetti generici1. Questa classe è utile quando si desidera creare un oggetto senza definire una classe personalizzata. Gli oggetti stdClass sono utilizzati spesso come contenitori di dati generici.
Il risultato della query $results è un array di classi stdClass, di conseguenza per accedere alle variabili in esso contenute bisogna utilizzare la seguente sintassi.
foreach ($results as $row) {
echo $row->testo;
}
dove testo è il nome della colonna che viene letta sul db.
Se si volesse invece usare una sintassi diversa va cambiato il secondo argomento di get_results();
$results = $wpdb->get_results($query, ARRAY_A);
Dove ARRAY_A è una costante di wordpress che permette di ottenere un’array multidimensionale come risposta.
In questo caso è possibile accedere alle variabili nel seguente modo:
foreach ($results as $row) {
echo $row['testo'];
}

Se il post ti è piaciuto e non vuoi perderti le news e gli ultimi articoli di puragoia.it scriviti al gruppo telegram accessibile a questo link