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

Devo usare mysql_real_escape_string se collego parametri?

No, non devi sfuggire al valore da solo (cioè no non è necessario chiamare mysqli_real_escape_string ) , quando si utilizzano istruzioni preparate:il motore DB lo farà da solo.

(In realtà, se stavi chiamando mysql_real_escape_string e usando i parametri vincolati, le tue stringhe verrebbero salvate due volte, il che non sarebbe eccezionale:finiresti con i caratteri di escape ovunque...)


Come nota a margine:i tuoi valori vengono passati come interi (come indicato da 'ii' ) , quindi non dovresti chiamare mysql_real_escape_string , anche se non stavi utilizzando istruzioni preparate:come indica il nome, questa funzione viene utilizzata per sfuggire a... stringhe.

Per i numeri interi, generalmente uso solo intval per assicurarmi che i dati che inserisco nelle mie query SQL siano davvero interi.

(Ma, poiché stai usando query preparate, ancora una volta, non devi fare questo tipo di evasione da solo)