2011-02-02 6 views

risposta

7

No.

mysqli::multi_query prende una stringa di query come argomento, non è una dichiarazione preparata.

mysql::prepare può preparare solo una singola istruzione:

La query deve essere costituito da una singola istruzione SQL.

+0

Ho una domanda. Se una dichiarazione preparata è una buona pratica per evitare SQL Injection, come eseguiresti più INSERTS su più tabelle, mantenendo i benefici delle dichiarazioni preparate? Interrompereste ogni istruzione SQL in istruzioni preparate singolarmente e le sovrapponete semplicemente al database o c'è una soluzione a un colpo? Ho solo bisogno di un termine o di un'espressione che posso google e conoscere. –

+1

@FernandoSilva: Io uso le transazioni per questo - vedi [questa risposta] (http://stackoverflow.com/a/11635064/1801588) per questo problema specifico e [questa domanda e le sue risposte] (http://stackoverflow.com/q/12091971/1801588) (non solo il primo) per le transazioni. –

+0

@PavelV. Grazie, leggi solo quello che hai menzionato, che farebbe il trucco per me. Alla fine mi sono imbattuto in transazioni senza nemmeno sapere che è quello che è stato chiamato. Grazie ancora una volta ^^ –