Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [Sql]query da sql file

  1. #1

    [Sql]query da sql file

    Ciao a tutti,
    ho inserito in file sql il seguente codice

    CREATE TABLE `{prex}tamplate` (
    `id_tp` int(9) NOT NULL auto_increment,
    `nome_tp` varchar(50) NOT NULL default '',
    `id_lng` int(9) NOT NULL default '1',
    PRIMARY KEY (`id_tp`)
    ) TYPE=MyISAM AUTO_INCREMENT=1 ;


    CREATE TABLE `{prex}user` (
    `id_user` int(5) NOT NULL auto_increment,
    `login` varchar(8) NOT NULL default '',
    `pwd` varchar(10) NOT NULL default '',
    `priv_user` int(1) NOT NULL default '1',
    `priv_amm` int(1) NOT NULL default '0',
    `priv_priv` int(1) NOT NULL default '0',
    `nome_user` varchar(30) NOT NULL default '',
    `cognome_user` varchar(30) default NULL,
    `email_user` varchar(150) NOT NULL default '',
    PRIMARY KEY (`id_user`)
    ) TYPE=MyISAM AUTO_INCREMENT=1 ;

    poi lo richiamo con questa funzione

    Codice PHP:
    function DBInstall($prex)
        {
        if(
    file_exists("sql/050331160503.sql"))
            {
            
            
    $sql=file("sql/050331160503.sql");
            foreach(
    $sql as $k=>$v)
                {
    $new_sql .= $v;}
            
    //Sostituisco le variabili
            
    $new_sql str_replace('{prex}',$prex,$new_sql);    
            return 
    $new_sql;        
            }
            else
            {
            
    $new_sql false;
            return 
    $new_sql;
            }
        } 
    ed eseguo con

    Codice PHP:
    $var["db"] = mysql_connect($var["Host"], $var["UserDB"], $var["PassDB"]);
    mysql_db_query($var["NomeDB"],$var["installDB"]) or die (mysql_error());
    mysql_close($var["db"]); 
    il tutto non fà altro che caricare il codice della query sql da un file e effettuare la quesry, ma mi ritrovo con errori di sintassi.Facendo delle prove ho visto che se eseguo le query da due file separari funziona, quindi evidentemente non accetta il ; con codice seguente sql.

    Come posso inserire il codice sql in un'unico file e caricarlo da codice php ed eseguirlo senza errori?

    errore riscontrato
    --------------------------
    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 ';
    --------------------------

  2. #2
    dai rendo tutto più facile...se separo le query in file separati funziona!..ma posso fare più query caricate da un'unico file?e se si, con quale software posso fare i dump velocememente?io ho usato phpmyadmin

  3. #3
    Da php non puoi fare la sequenza del file. Ogni create table deve essere dentro a mysql_query().

    mysql_query(create table .... ecc.)

    Da phpmyadmin funziona perche' fa la query in SQL una di seguito all'altra divise da un punto e virgola.

    Di solito personalmente utilizzo un array() che scorro poi con foreach.



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    si è la soluzione che stavo implementando con explode(). Stavo guardando il codice del phpmyadmin e ho visto anchio che non spezzetta tutto.

    Grazie piero.mac

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.