phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Creare una subquery in mysql

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: Creare una subquery in mysql

Messaggio da Sir Xiradorn » 01/02/2016, 22:21

Occhio solo ad una piccolissima imprecisione. Il binding dei parametri va usato come segue:

Codice: Seleziona tutto

<?php 

$driver = "mysql";
/*
    Mancano i dati di log e il nome del db....fate vobis
*/

define("TABELLA", "tabella_prova");

if ( !in_array($driver, PDO::getAvailableDrivers()) ) {
    throw new PDOException ("Driver non presenti"); 
} else {
    try {
        $cnt_string = "{$driver}:host={$host};dbname={$dbname};charset=utf8";
        $options = array(
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_EMULATE_PREPARES    => false
        );

        $db = new PDO($cnt_string, $user, $pass, $options);
    } catch (PDOException $e) {
        echo $e->getMessage();
    }
}

$col1 = "%\_18\_%";
$sql = "SELECT * FROM " . TABELLA . " WHERE col1 LIKE :col1";

$stmt = $db->prepare($sql);
$stmt->bindParam(':col1', $col1, PDO::PARAM_STR);
$stmt->execute();

echo "<pre>";
print_r($stmt->fetchAll(PDO::FETCH_ASSOC));
echo "</pre>";

// equivalente al freeresult
$stmt->closeCursor();

$sql = "SELECT * FROM " . TABELLA;

$stmt = $db->query($sql);
// addirittura puo essere fatto questo
/*
$stmt = $db->query($sql, PDO::FETCH_ASSOC);
*/

echo "<pre>";
print_r($stmt->fetchAll(PDO::FETCH_ASSOC));
echo "</pre>";

$stmt->closeCursor();

// per chiudere la connessione
unset($db);    
Solo uno spunto per imparare insieme. Nemmeno io ci ho scombattuto molto ma sono un set davvero molto potente. In alternativa potete usare mysqli.
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 30 ospiti