Cita: El singleton no es necesario, pero es recomendable si quieres asegurarte de que solo haya una instancia de esa clase.
Realmente lo que hace un singleton es que cuando solicitas una nueva clase de conexión comprueba si ya hay una creada.
Si no la hay la crea y la devuelve . Si ya existe la devuelve, sin crear otra.
Mi recomendación es que la cadena de conexión la leas de un fichero de configuración, así si cambias de servidor o el nombre de la base de datos solo tienes que modificar la cadena en un sitio (el fichero).
saludos
gracias por la aclaración
Cita: Hola y gracias por el aporte. Está muy interesante
Quizás un consejo que puedo darte para hacer el código aún más universal es el uso de excepciones para comprobar las pre y post-condiciones del código y así, además, cada persona puede personalizar los mensajes de error sin tener que modificar el código que nos pasas.
totalmente de acuerdo contigo, faltaría manejar las excepciones
Cita: Pero esto no serviria! Porque estarias escapando la consulta entera, cosa que te generaria un error en la consulta!
La idea del metodo setSecure() es usar mysql_real_escape_string() para un dato en particular, un dato que el usuario va a ingresar y se supone puede contener codigo malintencionado.
Pero si las consultas las vas a ejecutar vos, para que queres agregar seguridad?
totalmente de acuerdo contigo, alas consultas propias no haría falta agregarles la seguridad
Cita: entonces bastaria con hacer un
$db->setSecure($_POST['nombre']);
$db->setSecure($_POST['mensaje']);
$db->query("SELECT ...");
y listo? .... gracias!
exacto, bataria solamente con eso
saludos