• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Umbus

Erro na conversao de base de dados sql

4 mensagens neste tópico

Boas, estou a fazer um programa para eleminar o smile :\ da sql que esta a dar problemas de sintaxe na mesma. O codigo é o seguinte:

<?

// CONEXAO - BANCO DE DADOS MYSQL;
$ligar = mysql_connect($host, $user, $pass)  or die ("<br><br><center>Problemas ao conectar ao servidor: " . mysql_error() . "</center>");

// SELECIONA - BANCO DE DADOS MYSQL;
mysql_select_db($db, $ligar) or die ("<br><br><center>Problemas ao seleccionar a base de dados: " . mysql_error() . "</center>");

    $tabela="jos_fb_messages_text";
    $campos = array("message");
    
    //Caracteres a procurar
    $lat = array(":\"");

    //Caracteres a substituir pelos de procura
    $utf = array(" ");

    
$res = mysql_query("SELECT * FROM `".$tabela."`");
if(mysql_num_rows($res)>0) {
	while($linha=mysql_fetch_array($res)) {
		$id=$linha['mesid'];
		$sql="UPDATE `".$tabela."` SET ";
		for($x=0; $x<count($campos); $x++) {
            str_replace($lat, $utf, $campos[$x]);
		}
		$sql.=" WHERE `mesid`=\"".$id."\"";
		if($res_up=mysql_query($sql)) $sql="";
		else die("ERRO NA QUERY ".$sql. "<br>ERRO SQL: ".mysql_error());


	}
}

?>

O problema e que acontece o seguinte erro:

ERRO NA QUERYUPDATE `jos_fb_messages_text` SET WHERE `mesid`="2"

ERRO SQL: 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 'WHERE `mesid`="2"' at line 1

Podem ajudar a resolver o problema?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenta assim.

<?php

// CONEXAO - BANCO DE DADOS MYSQL;
        $ligar = mysql_connect($host, $user, $pass)  or die ("<br><br><center>Problemas ao conectar ao servidor: " . mysql_error() . "</center>");

// SELECIONA - BANCO DE DADOS MYSQL;
        mysql_select_db($db, $ligar) or die ("<br><br><center>Problemas ao seleccionar a base de dados: " . mysql_error() . "</center>");

    $tabela="jos_fb_messages_text";
    $campos = array("message");
   
    //Caracteres a procurar
    $lat = array(":\"");

    //Caracteres a substituir pelos de procura
    $utf = array(" ");

   
$res = mysql_query("SELECT * FROM `".$tabela."`");
if(mysql_num_rows($res)>0) {
                while($linha=mysql_fetch_array($res)) {
                        $id=$linha['mesid'];
                        $sql="UPDATE `".$tabela."` SET ";
                        $sql.="`message`=\"".str_replace($lat, $utf, $linha['message'])."\"";
                        $sql.=" WHERE `mesid`=\"".$id."\"";
                        if($res_up=mysql_query($sql)) $sql="";
                        else die("ERRO NA QUERY ".$sql. "<br>ERRO SQL: ".mysql_error());


                }
}

?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É por isto que gosto do portugal a programar, sempre a ajudar, e a ver coisas que nao vejo e que sao bue estupidas XD.

Mesmo assim não funca:

ERRO NA QUERY UPDATE `jos_fb_messages_text` SET `message`="

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenta antes assim.

<?php

// CONEXAO - BANCO DE DADOS MYSQL;
        $ligar = mysql_connect($host, $user, $pass)  or die ("<br><br><center>Problemas ao conectar ao servidor: " . mysql_error() . "</center>");

// SELECIONA - BANCO DE DADOS MYSQL;
        mysql_select_db($db, $ligar) or die ("<br><br><center>Problemas ao seleccionar a base de dados: " . mysql_error() . "</center>");

    $tabela="jos_fb_messages_text";
    $campos = array("message");
   
    //Caracteres a procurar
    $lat = array(":\"");

    //Caracteres a substituir pelos de procura
    $utf = array(" ");

   
$res = mysql_query("SELECT * FROM `".$tabela."`");
if(mysql_num_rows($res)>0) {
                while($linha=mysql_fetch_array($res)) {
                        $id=$linha['mesid'];
                        $sql="UPDATE `".$tabela."` SET ";
                        $sql.="`message`=\"".mysql_real_escape_string(str_replace($lat, $utf, $linha['message']))."\"";
                        $sql.=" WHERE `mesid`=\"".$id."\"";
                        if($res_up=mysql_query($sql)) $sql="";
                        else die("ERRO NA QUERY ".$sql. "<br>ERRO SQL: ".mysql_error());


                }
}

?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora