[PHP] PDO prepared statement - select query errore

cleto

Nuovo Utente
28 Feb 2012
9
0
1
Salve ho un DB dal nome 'test' con campi ID, post_title, post_content, post_name, post_date e la seguente query:

PHP:
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_name = 'test';
$id = 1;
try{

     $conn = new PDO("mysql:host={$db_host};dbname={$db_name}", "$db_user", "$db_pass");

     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
    $stmt = $conn->prepare("SELCT * FROM objects WHERE ID  = :id ");
 
     $stmt->execute(array(":id" => $id));

      while($row = $stmt->fetch(PDO::FETCH_OBJ)){
 
         $results[] = $row;

      } 
 
      echo '<pre>' , print_r ($results) , '</pre>';

  } catch(PDOException $e){

    echo 'ERROR: ' . $e->getMESSAGE();

  }

e ricevo il seguente messaggio di errore:

ERROR: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe pr�s de 'SELCT * FROM objects WHERE ID = '1'' � la ligne 1

sapete darmi una dritta?...grazie
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
28
Ciao. Hai un errore nella query. Hai scritto SELCT al posto di SELECT.
 

otto9due

Utente Attivo
22 Feb 2014
578
22
28
Perchè usi prepare per un select? Io lo uso sempre e solo per insert ed update.. crea una sorta di segnaposto da quanto ho capito, e si usa per prevenire le injection db. Per questo motivo lo uso prevalentemente quando vado ad inserire dati provenienti da fonti esterne, ma se devo recuperarmi un dato da db non l'ho mai usato.
Comunque appena ho un sec ti posto il codice che uso io se ancora non hai risolto.


Inviato dal mio iPhone utilizzando Tapatalk
 

marino51

Utente Attivo
28 Feb 2013
3.097
199
63
Lombardia
Perchè usi prepare per un select? Io lo uso sempre e solo per insert ed update.. crea una sorta di segnaposto da quanto ho capito, e si usa per prevenire le injection db. Per questo motivo lo uso prevalentemente quando vado ad inserire dati provenienti da fonti esterne, ma se devo recuperarmi un dato da db non l'ho mai usato.

chi vuole compiere azioni malevole introduce del codice, in questo caso sql,
non sembra ovvio, anche se dovrebbe esserlo, che il codice può essere inserito in qualunque "veicolo", select comprese, che agisce su delle risorse

@cleto lascia il binding su ogni azione che interessa il db
 
  • Like
Reactions: otto9due

cleto

Nuovo Utente
28 Feb 2012
9
0
1
Grazie mille...e dire che l'ho riletta per ore (sic) e alla fine ho trovato anche questa sintassi:

PHP:
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_name = 'test';
$id = 1;
try{

    $conn = new PDO("mysql:host={$db_host};dbname={$db_name}", "$db_user", "$db_pass");
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);             
             
     $sql = "SELECT *
                 FROM objects
                WHERE ID = :id";    
   
       $stmt = $conn->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
   
      $stmt->execute(array(':id' => $id));

            while($row = $stmt->fetch(PDO::FETCH_OBJ)){  
   
               $results[] = $row;
       
            }    

      echo '<pre>' , print_r ($results) , '</pre>';

 } catch(PDOException $e){
      echo 'ERROR: ' . $e->getMESSAGE();
 }

@cleto lascia il binding su ogni azione che interessa il db

mi vergogno della mia ignoranza ma non so che vuol dire
 

marino51

Utente Attivo
28 Feb 2013
3.097
199
63
Lombardia
mi vergogno della mia non conoscenza, ma non so che vuol dire
proprio il modo di agire con i "segnaposto", detto in maniera molto semplice
che sono rappresentati con ":nome" oppure da un "?", ovvero
PHP:
SELECT * FROM objects WHERE ID = :id
oppure
SELECT * FROM objects WHERE ID = ?
puoi fare riferimento al manuale per le differenze ed ad un buon articolo, se hai del tempo ...
https://phpdelusions.net/pdo
 
Discussioni simili
Autore Titolo Forum Risposte Data
K [PHP] PDO.bindingParam PHP 2
M [PHP] Interrompere DROP TABLE con PDO PHP 0
M [PHP] Alternativa a datagrid con PDO PHP 6
M [PHP] Creare un menu a tendina con pdo PHP 18
M [PHP] Array di array - PDO PHP 2
W [PHP] Creazione classe PDO PHP 4
F PHP, PDO e visualizzazioni errori e/o eccezioni PHP 3
3_g [PHP] mvc, pdo e classi... PHP 7
F php PDO mysql connessione(select_db) PHP 3
Fredyss redirect a altra pagina php dopo commit su postgresql con PDO PHP 1
ANDREA20 [PHP] Errore $this->db_connection = new PDO PHP 0
MarcoGrazia [PHP][PDO][MySQL] Non registra ma non da nemmeno errori. PHP 0
MarcoGrazia [PHP][PDO] Come connettersi al database Snippet PHP 0
MarcoGrazia [PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE Snippet PHP 0
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
R Organizzazione PHP Mysql PDO PHP 15
voldemort PHP PDO: non c'ho capito niente PHP 1
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 2
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Visualizzazione a video risultati query php PHP 0
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1

Discussioni simili