2011-02-02 39 views

Respuesta

7

mysqli::multi_query toma una cadena de consulta como su argumento, no una declaración preparada.

mysql::prepare sólo puede preparar una sola instrucción:

la consulta debe consistir en una única sentencia SQL.

+0

Tengo una pregunta. Si una declaración preparada es una práctica recomendada para evitar la Inyección SQL, ¿cómo se realizarían INSERTOS múltiples en varias tablas, manteniendo los beneficios de las declaraciones preparadas? ¿Romperías cada declaración de SQL en declaraciones preparadas individuales y simplemente las conectarías en cascada en la base de datos o hay una solución de un solo golpe? Solo necesito un término o una expresión que pueda buscar en google y aprender. –

+1

@FernandoSilva: Consumo transacciones para esto - véase [esta respuesta] (http://stackoverflow.com/a/11635064/1801588) para este problema específico y [esta pregunta y sus respuestas] (http://stackoverflow.com/q/12091971/1801588) (no solo el primero) para transacciones. –

+0

@PavelV. Gracias, solo lee lo que mencionaste, eso me haría el truco. Eventualmente me topé con transacciones sin siquiera saber que así se llamaba. Gracias una vez más ^^ –

Cuestiones relacionadas