Estoy desarrollando una aplicación web usando Zend Framework. Para las declaraciones seleccionadas que he usado de la siguiente manera.mysql_real_escape_string con Zend
Ex:
public function getData($name)
{
$sql = "SELECT * from customer where Customer_Name = '$name'";
return $this->objDB->getAdapter()->fetchAll ($sql);
}
Esto funciona bien. Pero si envío el nombre del cliente como: colvin's place
, La consulta falla. Y sé que es por la cita simple.
Anteriormente utilicé la función PHP de addslashes. Pero vi que no es una buena manera de hacer esto. Esta vez utilicé la función PHP mysql_real_escape_string
.
El problema es que dice siguiente advertencia.
Warning</b>: mysql_real_escape_string() [<a href='function.mysql-real-escape-string'>function.mysql-real-escape-string</a>]: Access denied for user 'ODBC'@'localhost' (using password: NO)
Esto es debido a la función mysql_real_escape_string
necesita una conexión a la base de datos abierta por mysql_connect
. Mi pregunta es cómo puedo usar esto con las clases * Zend_DB *. Necesito usar consultas de selección personalizadas siempre. Aprecie sus otras sugerencias si están disponibles.
Gracias
quiso yo trate de usar [Zend_Db_Statement] (http://framework.zend.com/manual/ es/zend.db.statement.html) –
Gracias Shiplu. Voy a ver. –
Utilizo addslashes() y para enteros Intval(). Pero usar addslashes es una mala práctica. – devOp