Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

michelmfreitas

[Resolvido] Gravar Json no DB MYSQL

Recommended Posts

Olá pessoal, estou com uma dúvida de como gravar os meus dados Json no banco de dados MYSQL.

 

O Json está assim (conteudo dentro da variavel $json):

 

{"descricao1":"teste1","descricao2":"teste2","descricao3":"teste3","descricao4":"teste4"}

Então gravo no DB:

 

$this->DB->Execute("INSERT INTO tabela (dados) VALUES ('{$json}')");

Porém, o JSON utiliza aspas duplas e isso gera erro no SQL.

 

Como resolvo isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum..

 

que tal:

echo addslashes( '{"descricao1":"teste1","descricao2":"teste2","descricao3":"teste3","descricao4":"teste4"}' );
http://br2.php.net/addslashes

Compartilhar este post


Link para o post
Compartilhar em outros sites

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''{\"descricao1\":\"teste1\",\"descricao2\":\"teste2\",\"descricao3\":\"teste3\"}' at line 1

O SQL:

$this->DB->Execute("INSERT INTO pl_dados_cadastro_florestal (id_cadastro_florestal, dados) VALUES ({$id}), '{$json}')") or die($this->DB->ErrorMsg());

Compartilhar este post


Link para o post
Compartilhar em outros sites

apenas copiei, e inseri:

 

INSERT INTO `test`.`test_json` (`id`, `json`) 
VALUES (NULL, '{\"descricao1\":\"teste1\",\"descricao2\":\"teste2\",\"descricao3\":\"teste3\"}')

oque tem na variavel $id ?

 

jogue a string sql, numa variavel, e debug essa variavel, antes de passar para o teu método.

 

fiz um teste aqui:

<?php
	$db = new mysqli('localhost','root','123','test');
	
	$json = addslashes( '{"descricao1":"teste1","descricao2":"teste2","descricao3":"teste3","descricao4":"teste4"}' );
	$sql = "INSERT INTO test_json ( id, json ) 
		VALUES(NULL, '{$json}')";
		
	echo $sql,'<br />';
		
	$query = $db->query( $sql )or die( $db->error );
	if( $query ) echo 'Inserido com sucesso!';

^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.