Ir para conteúdo
Fórum Script Brasil

RaphinhaxP

Membros
  • Total de itens

    7
  • Registro em

  • Última visita

Sobre RaphinhaxP

Perfil

  • Gender
    Male

RaphinhaxP's Achievements

0

Reputação

  1. Tenta modificar essa linha assim : $q = ''select type from hm2_history where user_id = '". $id ."' group by type order by type";
  2. A função exec(), é uma função nativa do php, você pode usar ela dentro do seu script para executar qualquer comando inclusive um mysql. você não precisa abrir o arquivo no php, setar ponteiro, pegar linha etc.... o seu script esta no servidor, o banco também esta no servidor, o arquivo também está no servidor, logo utilizando a função exec você consegue fazer o up desse arquivo para o banco rapidamente dentro do seu script =] posso estar errado e não ter entendido o q você realmente quer, pelo que eu entendi ate agora isso vai te ajudar Não entendi como funciona a função exec(), no caso não preciso de conexao mysql.meusite.com.br? Como ficaria essa função com os dados de conexão que postei? Criei um script que copia um site inteiro de um diretório para outro, porem preciso criar as mesmas tabelas desse site no banco com outro prefixo, ai pensei em deixar um arquivo base.sql no servidor e envia-lo para o banco de dados com outro prefixo toda vez que copiasse um site. Vamos imaginar assim: PHP E MYSQL RODANDO NO SERVIDOR -Arquivos no servidor na mesma pasta: script.php sql.sql Conteudo dos aruqivos: script.php ----> //Adiciona a QUERY para a variavel $qry = "CREATE TABLE minha_tabela2 (id INT NOT NULL AUTO_INCREMENT, nome VARCHAR(20) NOT NULL, PRIMARY KEY (id));"; //Abre o arquivo sql com permição para escrita $fh = fopen('sql.sql','w+'); //Escreve o conteudo da variavel $qry no arquivo fwrite($fh, $qry); //fecha e salva o arquivo fclose($fh); //conecta no my sql por linha de comando e executa o conteudo do arquivo sql no banco selecionaddo(base_1) if(exec("mysql -u base_1 --password='root' base_1 < sql.sql")) echo "Erro"; sql.sql -------> EM BRANCO deu pra entender ? :unsure:
  3. Como assim em um formulario ? você quer chamar esse script qundo enviar seu formulario html ? se for isso é so você colocar no action do seu formulario o nome e/ou caminho completo do arquivo php. ex: <form action="meu.php" method="POST">
  4. A função exec(), é uma função nativa do php, você pode usar ela dentro do seu script para executar qualquer comando inclusive um mysql. você não precisa abrir o arquivo no php, setar ponteiro, pegar linha etc.... o seu script esta no servidor, o banco também esta no servidor, o arquivo também está no servidor, logo utilizando a função exec você consegue fazer o up desse arquivo para o banco rapidamente dentro do seu script =] posso estar errado e não ter entendido o q você realmente quer, pelo que eu entendi ate agora isso vai te ajudar
  5. 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 '"zones" (' at line 1 Conteúdo do arquivo base.sql: CREATE TABLE "zones" ( "id" INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT, "nome" VARCHAR( 150 ) NOT NULL, PRIMARY KEY ( "id" ) ) Com o código abaixo roda normal, o problema é que quando eu chamo o arquivo base.sql externo é que não roda. <?php $servidor = "localhost";#CONFIGURE SEU HOST AQUI $user = "base_1";#USUARIO DO BANCO DE DADOS $senha = "root";#SENHA DO BANCO DE DADOS $db = "base_1";#BASE QUE OS DADOS SERAO EXPORTADOS //executa a conexão com o banco, caso contrário mostra o erro ocorrido $conn = mysql_connect($servidor,$user,$senha) or die (mysql_error()); //seleciona a base de dados daquela conexão, caso contrário mostra o erro ocorrido $banco = mysql_select_db($db, $conn) or die(mysql_error()); $linha = "CREATE TABLE "zones" ( "id" INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT, "nome" VARCHAR( 150 ) NOT NULL, PRIMARY KEY ( "id" ) )"; //consulta sql - inserção $query = mysql_query($linha) or die(mysql_error()); //fecha a conexão com o banco mysql_close($conexao); }//FECHA WHILE ?> tenta isso: exec('mysql -u [usuario] --password="[senha]" nome_banco < [\arquivo.sql]');
  6. Primeiramente use a função extract em vez de atribuir cada retorno de $_GET: extract($_GET) depois verifique quais campos estão preenchidos com a função isset(), caso esteja jogue numa variave $where por exemplo a sua condicao e por ultimo uma variavel $sql que ira receber select correto da busca. Ex: Obs: a função extract importa variaveis com o nome de cada campo vindos do _GET e seu devido valor HTML: <input ..... id="campo_nome"> <input ..... id="campo_idade"> <input ..... id="campo_descricao"> <input ..... id="campo_datainicial"> <input ..... id="campo_data final"> PHP: extract($_GET); if(isset($campo_nome) || $campo_nome != "") $where .= "AND nome = '".$campo_nome."'"; if(isset($campo_idade) || $campo_idade != "") $where .= "AND idade = '".$campo_idade."'"; if(isset($campo_descricao) || $campo_descricao != "") $where .= "AND descricao = '".$campo_descricao."'"; *No caso de uma busca entre datas seria assim: if(isset($campo_datainicial) || $campo_datainicial != "") $where .= "AND data <= '".$campo_datainicial."'"; if(isset($campo_datafinal) || $campo_datafinal != "") $where .= "AND data >= '".$campo_datafinal."'"; e por ultimo a variavel $sql recebe: $sql = "SELECT * FROM tabela WHERE 1".$where; Não custumo ultilizar busca por nome, neste caso cada nome no banco tem um ID onde a busca é feita por este, mais fica a seu criterio. o comando LIKE você pode verificar aqui : http://dev.mysql.com/doc/refman/4.1/pt/mysql-indexes.html
×
×
  • Criar Novo...