Foros del Web » Programando para Internet » PHP »

Alternativa a mysql_real_escape_string

Estas en el tema de Alternativa a mysql_real_escape_string en el foro de PHP en Foros del Web. Buenas Os comento un poco mi situación: Estoy desarrollando un pequeño programa en PHP, el cual va a leer un excel y crear una consulta ...
  #1 (permalink)  
Antiguo 05/09/2016, 14:16
Avatar de solhdeck  
Fecha de Ingreso: junio-2011
Mensajes: 87
Antigüedad: 12 años, 9 meses
Puntos: 32
Sonrisa Alternativa a mysql_real_escape_string

Buenas
Os comento un poco mi situación: Estoy desarrollando un pequeño programa en PHP, el cual va a leer un excel y crear una consulta SQL que tengo que enviar por correo.
El problema viene cuando quiero escapar los datos que lee PHP para la consulta.
Yo solía usar mysql_real_escape_string, pero ya no funciona (PHP 7 lo ha eliminado) y al no conectarme realmente a ningún servidor de base de datos (no tengo instalado en este PC, sólo apache con PHP 7) no puedo tirar de mysqli_real_escape_string

Sé que la conexión final va a ser con UTF-8; ya que el único motivo para que mysqli_real_escape_string REQUIERA datos de conexión es la codificación de caracteres (o es lo único que encontré al respecto en http://php.net/manual/es/mysqli.real-escape-string.php)

¿Cómo puedo hacer?

Muchísimas gracias

Un saludo
__________________
El karma me anima a seguir contestando preguntas... si te ayudé dame un poquito ;)
  #2 (permalink)  
Antiguo 05/09/2016, 16:53
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 3 meses
Puntos: 20
Respuesta: Alternativa a mysql_real_escape_string

Hola amigo,
y no te sirve la o tra alternativa sugerida en el manual?
http://php.net/manual/es/pdo.quote.php
Saludos!
  #3 (permalink)  
Antiguo 06/09/2016, 07:27
Avatar de solhdeck  
Fecha de Ingreso: junio-2011
Mensajes: 87
Antigüedad: 12 años, 9 meses
Puntos: 32
Respuesta: Alternativa a mysql_real_escape_string

Pero la clase PDO
Cita:
Representa una conexión entre PHP y un servidor de bases de datos.
http://php.net/manual/es/class.pdo.php
Y yo no tengo conexión con ningún servidor de base de datos en el equipo que va a ejecutar el php. La idea es crear el archivo .sql y luego llevarlo al servidor en cuestión.
¿Hay forma de utilizar el PDO::quote sin conexión a ninguna base de datos?

¿Hay alguna función que convierta el string en válido para una consulta SQL y que no requiera conexión a servidores SQL?
__________________
El karma me anima a seguir contestando preguntas... si te ayudé dame un poquito ;)

Última edición por solhdeck; 06/09/2016 a las 08:20 Razón: Añadir la última pregunta
  #4 (permalink)  
Antiguo 06/09/2016, 09:09
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 3 meses
Puntos: 20
Respuesta: Alternativa a mysql_real_escape_string

Hola amigo,
Dices que vas a crear una consulta SQL para después enviarla, es decir, sólo vas a crearla pero no ejecutarla??
Se que en el mismo manual lo desaconseja, pero, no t serviría addslashes ? O en todo caso, usar htmlentities
Es lo único que se me ocurre, esperemos q te puedan contestar los más experimentados,
Saludos!
  #5 (permalink)  
Antiguo 06/09/2016, 09:15
Avatar de solhdeck  
Fecha de Ingreso: junio-2011
Mensajes: 87
Antigüedad: 12 años, 9 meses
Puntos: 32
Respuesta: Alternativa a mysql_real_escape_string

No se escapan SQL con slashes :S

Necesito que me convierta la cadena en apta para sql.

¿En realidad NADIE en PHP ha pensado en esto al decidir eliminar mysql_real_escape_string?
Cuando podía usar esa función todo era más fácil, porque podía NO tener conexión a base de datos.

Muy orientado a objetos y lo que quieras, pero que no nos quiten cosas útiles ni nos las cambien por otras que requieren parámetros realmente inncesarios (¿Cómo funcionaba bien la función antes si no le indicabas la conexión?)
__________________
El karma me anima a seguir contestando preguntas... si te ayudé dame un poquito ;)
  #6 (permalink)  
Antiguo 06/09/2016, 09:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Alternativa a mysql_real_escape_string

Creo que más bien estás usando la herramienta incorrecta, si no vas a usar PDO para ejecutar las consultas de SQL entonces no lo uses.

Busca una librería o SQL-Builder únicamente, seguramente es lo que necesitas.

A propósito:
Cita:
¿Cómo funcionaba bien la función antes si no le indicabas la conexión?
¿Alguna vez tuviste la intención de leer el manual?

Exactamente ahí de indica la razón de que "funcione", pues sencillamente se crea una conexión con los datos por defecto, sólo que no te enteras.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 06/09/2016, 09:30
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 5 meses
Puntos: 123
Respuesta: Alternativa a mysql_real_escape_string

Y no es más lógico y seguro para la bd, ejecutar el Script en el servidor final y enviar el Excel o los parámetros formateados por correo en lugar del sql.
__________________
Unset($vida['malRollo']);
  #8 (permalink)  
Antiguo 06/09/2016, 09:35
Avatar de solhdeck  
Fecha de Ingreso: junio-2011
Mensajes: 87
Antigüedad: 12 años, 9 meses
Puntos: 32
Respuesta: Alternativa a mysql_real_escape_string

Cita:
Iniciado por pateketrueke Ver Mensaje
Creo que más bien estás usando la herramienta incorrecta, si no vas a usar PDO para ejecutar las consultas de SQL entonces no lo uses.

Busca una librería o SQL-Builder únicamente, seguramente es lo que necesitas.
Bien... por aquí quería que fueran más los tiros... Soy consciente de que no es lo común, pero el uso en cuestión es muy concreto. He utilizado la función "vieja" muchas veces sin ningún problema; pero que me fuercen a conectarme para escapar un string de una forma concreta...

Cita:
Iniciado por pateketrueke Ver Mensaje
A propósito:
¿Alguna vez tuviste la intención de leer el manual?

Exactamente ahí de indica la razón de que "funcione", pues sencillamente se crea una conexión con los datos por defecto, sólo que no te enteras.
Sí he leido el manual; de muchas de las funciones. Y... era una pregunta retórica. Ya sé que utiliza unos valores por defecto si no le das una conexión; y esa es la parte que demando en la "nueva" función. No creo que sea tan difícil. La pregunta sería más "¿Por qué la nueva no tiene la opción de funcionar igual que la vieja? es decir, con unos valores por defecto si no hay conexión".

Volviendo a la parte de usar una librería o un SQL-Builder... no sé bien de dónde sacar la librería en cuestión o qué es exactamente un SQL-Builder, pero voy a googlear a ver si hallo alguna solución.

Gracias por la ayuda. Actualizaré cuando sepa algo más =)
(mientras tanto, sigo aceptando alternativas si se os ocurren). NO está solucionado aún
__________________
El karma me anima a seguir contestando preguntas... si te ayudé dame un poquito ;)
  #9 (permalink)  
Antiguo 06/09/2016, 09:37
Avatar de solhdeck  
Fecha de Ingreso: junio-2011
Mensajes: 87
Antigüedad: 12 años, 9 meses
Puntos: 32
Respuesta: Alternativa a mysql_real_escape_string

Cita:
Iniciado por xerifandtomas Ver Mensaje
Y no es más lógico y seguro para la bd, ejecutar el Script en el servidor final y enviar el Excel o los parámetros formateados por correo en lugar del sql.
No si los datos los tengo que extraer, con un servidor apache portable preparado para la ocasión, de una máquina sin conexión a ninguna red [a una red sí tiene conexión, pero ésta red no nos vale para el servidor de base de datos]
__________________
El karma me anima a seguir contestando preguntas... si te ayudé dame un poquito ;)
  #10 (permalink)  
Antiguo 06/09/2016, 09:47
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 3 meses
Puntos: 20
Respuesta: Alternativa a mysql_real_escape_string

Cita:
Iniciado por solhdeck Ver Mensaje
No se escapan SQL con slashes :S

...
Aaaaasqueroosoo noob que soy... jajajajaja
Pero mira, le han dado seguimiento a tu tema los expertos,
ya aprenderé también de esto.
Saludos!
  #11 (permalink)  
Antiguo 06/09/2016, 10:59
Avatar de solhdeck  
Fecha de Ingreso: junio-2011
Mensajes: 87
Antigüedad: 12 años, 9 meses
Puntos: 32
Respuesta: Alternativa a mysql_real_escape_string

Cita:
Iniciado por german_1441 Ver Mensaje
Aaaaasqueroosoo noob que soy... jajajajaja
Pero mira, le han dado seguimiento a tu tema los expertos,
ya aprenderé también de esto.
Saludos!
Todos tenemos que aprender jajaja poco a poco. Gracias por intentarlo al menos =)
__________________
El karma me anima a seguir contestando preguntas... si te ayudé dame un poquito ;)

Etiquetas: escapar, mysqli, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:02.