MySQL - caracteres cuadrados divertidos añadido al valor al insertarlo en la tabla

StackOverflow https://stackoverflow.com/questions/2829626

  •  26-09-2019
  •  | 
  •  

Pregunta

Tengo un script php que se inserta en los valores de tabla de MySQL

INSERT INTO stories (title) VALUES('$_REQUEST[title]);

he comprobado los valores de mis variables de petición antes de entrar en la mesa y que está bien.

Pero cuando agrego title = John a la mesa por ejemplo,

me sale algo como esto: title = "[][][][]john" y cuando extraer el valor, que es un salto de línea entonces john.

Tengo mis columnas a UTF-8, probé conjunto de caracteres sueco también.

Nota: No me sale este error al introducir los valores de la línea de comandos phpMyAdmin

¿Fue útil?

Solución

Se necesitan {} en torno a cualquier notación de matriz cuando se utiliza dentro de "".

$q="INSERT INTO stories(title) VALUES('{$_REQUEST['title']}')";

Por cierto, sería mejor, al comprobar su _REQUEST $ vars para almacenar las versiones desinfectados en nuevas variables, y para estar seguro de escapar de ellos con real_escape_string()

Otros consejos

SET NAMES <encoding> consulta debe ejecutarse cada vez que se conecta a la base de datos.
regla muy simple.

donde <encoding> es su página de codificación HTML en dialecto MySQL (utf8 para el UTF-8)

Es necesario comprobar el juego de caracteres de la base de datos, el servidor y el cliente.

Tenga en cuenta que no es un juego de caracteres sueco, que es una colación sueco.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top