Mysql
 sql >> Database >  >> RDS >> Mysql

Quando utilizzare le query preparate con PDO. errore mysql_real_escape

Per correggere l'errore che stai ricevendo, mysql_real_escape_string() richiede una connessione aperta tramite mysql_connect() . Poiché non ne hai uno, sta tentando di connettersi e non riesce (usando un nome utente di matthew , mentre il tuo PDO si sta connettendo con root ). Inoltre, non puoi (o, non dovresti ) mescola e abbina mysql_real_escape_string() e PDO - sono librerie diverse.

Per quanto riguarda "quando" utilizzare le istruzioni preparate, la regola generale è quando i valori non sono hardcoded. Il tuo esempio di LIKE '%hotmail%' non ha bisogno di essere preparato, è codificato e non cambierà mai (a meno che non lo aggiorni manualmente, ovviamente).

Se hai una query che accetterà una variabile di qualsiasi tipo, siano dati da $_POST o $_GET , o una variabile che uno sviluppatore ha creato 10 righe prima della query, dovresti usare un'istruzione preparata (o almeno evitarla, controlla DOP::quote ).