Executar script sql 2 Testei: Funcionou normalmente. Porém da erro quando tento executar o mesmo comando, só que em um script: SQLSTATE[42000]: Syntax error or acce...
Executar script sql 2  
Testei:

<?php            $conn = TTransaction::get();            $conn->query('CREATE database teste');?>


Funcionou normalmente.
Porém da erro quando tento executar o mesmo comando, só que em um script:

<?php            $file = file_get_contents('teste.sql');            $conn = TTransaction::get();            $conn->query($file);?>


SQLSTATE[42000]: Syntax error or access violation: 1064 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 'CREATE database teste' at line 1

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (18)


AB

Bom Dia,verifique se nao hora de pegar os dados pelo file_get_contents ele não esta vindo com as aspas duas vezes ou então sem elas, de um echo var_dump($file) para verificando o comando.

Já verifiquei,e ele não vem com aspas.
Testei ate pegar o arquivo com o $file = file('teste.sql'), que vem separado em um array e executar o comando, mas não tive sucesso.

Testei colocar aspas tbm e não funcionou:
<?php           $file = file('teste.sql');           $conn->query('\''.$file[0].'\'');?>
WP

Printa aqui o resultado do var_dump e tambem de um print_r dos dados recuperados do arquivo porfavor
WP

tente com o comando exec do PDO

Link com o var_dump e o erro ao executar a query:

imageshack.com/a/img924/4365/asIhX8.jpg

testei tbm com o exec, e obtive o mesmo erro:
<?php          $file = file_get_contents('teste.sql');          $conn->exec($file);?>
WP

remova o "ponto e virgual do arquivo"
WP

remova o "ponto e virgula do arquivo"

Ja tinha testado sem o ;

imageshack.com/a/img922/3081/HQ3tlN.jpg
WP

Fiz um teste aqui e não sei por mas funcionou porem com os comandos em UPPER CASE

com este texto no arquivo funcionou aqui

CREATE DATABASE test
WP

Fiz um teste aqui e não sei por mas funcionou porem com os comandos em UPPER CASE

com este texto no arquivo funcionou aqui

CREATE DATABASE test

Testei com os comandos em maiusculo, e tudo minusculo tbm, nenhum dos dois funcionou!

Pode postar o codigo que você conseguiu?
WP

o mesmo que voce esta usando,apenas deixei CREATE DATABASE dentro do arquivo e pronto dai foi de boa


<?php          $file = file_get_contents('teste.sql');          $conn->exec($file);?>

WP

deixei em UPPERCASE

É, aqui nem assim funcionou! Deu o mesmo erro do print.
EN

a.a tente isso:

<?php           $file = file('teste.sql');           $conn->query(''.$file[0].'');?>
EN

a.a ... ' ' é pra usar aspas duplas... eu mandei errado ... abaixo segue o código com aspas duplas

<?php           $file = file('teste.sql');           $conn->query(".$file[0].");?>