Ir para conteúdo

POWERED BY:

Arquivado

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

Ricardo Fressa

[Resolvido] Erro ao gravar em XML Parse error

Recommended Posts

Ae galera fiz um script aqui para criar um arquivo .xml e gravar os dados, mas está dando erro na linha 19...

 

 

Parse error: parse error in C:\wamp\www\banco\curriculo.php on line 19

 

a linha 19 é essa aqui

 

fwrite($ponteiro,"<?xml version="1.0" encoding="ISO-8859-1"?>");

 

<?php
$db=@mysql_connect("localhost", "root", "") or die("Não foi possível conectar com o Banco de dados!");
mysql_select_db("banco", $db) or die("Não foi possível selecionar o banco de dados!");


$sql = @mysql_query("SELECT * FROM curriculos") or die("ERRO NO SQL");


$row = mysql_num_rows($sql);


if($row > 0) {
	
	
	$arquivo = "curriculo.xml";
	
	$ponteiro = fopen($arquivo,"w+");
	
	fwrite($ponteiro,"<?xml version="1.0" encoding="ISO-8859-1"?>");
	
	
	fwrite($ponteiro, "<curriculo> ");
	
	
	for($i=0; $i<$row; $i++) {
		
		$profissao = mysql_result($sql,$i,"profissao");
 		$nome = mysql_result($sql,$i,"nome");
 		$idade= mysql_result($sql,$i,"idade");
		$email= mysql_result($sql,$i,"email");
		$formacao= mysql_result($sql,$i,"formacao");
		$endereco= mysql_result($sql,$i,"endereco");
		$numero= mysql_result($sql,$i,"numero");
		$telefone= mysql_result($sql,$i,"telefone");
		$celular= mysql_result($sql,$i,"celular");
		
		$conteudo = "<curriculo> ";
 		$conteudo .= "<profissao>$profissao</profissao> ";
 		$conteudo .= "<nome>$nome</nome> ";
 		$conteudo .= "<idade>$idade</idade> ";
		$conteudo .= "<email>$email</email> ";
		$conteudo .= "<formacao>$formacao</formacao> ";
		$conteudo .= "<endereco>$endereco</endereco> ";
		$conteudo .= "<numero>$numero</numero> ";
		$conteudo .= "<telefone>$telefone</telefone> ";
		$conteudo .= "<celular>$celular</celular> ";
 		$conteudo .= "</curriculo> ";
		
		fwrite($ponteiro, $conteudo);
}

fwrite($ponteiro, "</curriculo>");

		fclose($ponteiro);
}




?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está colocando aspas duplas dentro de aspas duplas.. Isso é errado. :)

 

Ou use aspas únicas ao redor de aspas dúpluas ou escape as aspas duplas...

 

fwrite($ponteiro, '<?xml version="1.0" encoding="ISO-8859-1"?>');

Ou assim:

 

fwrite($ponteiro,"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae galera fiz um script aqui para criar um arquivo .xml e gravar os dados, mas está dando erro na linha 19...

 

Parse error: parse error in C:\wamp\www\banco\curriculo.php on line 19

 

a linha 19 é essa aqui

 

fwrite($ponteiro,"<?xml version="1.0" encoding="ISO-8859-1"?>");

 

Bom, depois de seguir a dica do ~TiuTalk~ e remover ou escapar a aspa dupla do version e do encoding e você continuar tendo problema, então é porque o PHP está achando que <? é na verdade um abre tag PHP.

 

Bom, eu vou sugerir que você use DOM para fazer isso que você está querendo:

 

$erro = "";

if ( ( $conn = @mysql_connect( "localhost" , "root" , "" ) ) ){
    if ( mysql_select_db( "banco" , $conn ) ){
        if ( ( $res = @mysql_query( "SELECT * FROM curriculos" ) ) ){
            $dom = new DOMDocument( "1.0" , "ISO-8859-1" );
            $cur = $dom->createElement( "curriculos" );

            while ( ( $row = @mysql_fetch_array( $res , MYSQL_ASSOC ) ) ){
                $curi = $dom->createElement( "curriculo" );
                $curi->appendChild( $dom->createElement( "profissao" , $row[ "profissao" ] ) );
                $curi->appendChild( $dom->createElement( "nome" , $row[ "nome" ] ) );
                $curi->appendChild( $dom->createElement( "idade" , $row[ "idade" ] ) );
                $curi->appendChild( $dom->createElement( "email" , $row[ "email" ] ) );
                $curi->appendChild( $dom->createElement( "formacao" , $row[ "formacao" ] ) );
                $curi->appendChild( $dom->createElement( "endereco" , $row[ "endereco" ] ) );
                $curi->appendChild( $dom->createElement( "numero" , $row[ "numero" ] ) );
                $curi->appendChild( $dom->createElement( "telefone" , $row[ "telefone" ] ) );
                $curi->appendChild( $dom->createElement( "celular" , $row[ "celular" ] ) );
                $cur->appendChild( $curi );
            }

            mysql_free_result( $res );

            $dom->appendChild( $cur );
            $dom->save( "arquivo.xml" );
        } else {
            $erro = "ERRO no SQL";
        }
    } else {
        $erro = "Não foi possível selecionar o banco de dados";
    }
    
    mysql_close( $conn );
    if ( !empty( $erro ) ) die( $erro );
} else {
    die( "Não foi possível conectar com o Banco de dados!" );
}

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.