Visualizzazione dei risultati da 1 a 8 su 8

Discussione: sql

  1. #1

    sql

    Ragazzi ho fatto uno script che tramite dei file php importa direttamente tramite file sql, ma mi da questo errore

    Codice PHP:

    Warning
    fopen(SQLTest) [function.fopen]: failed to open streamNo such file or directory in /web/htdocs/www.freestyleweb.it/home/progetti/condominio_new/xml/ClassSQLimport.php on line 29

    Warning
    filesize() [function.filesize]: Stat failed for SQLTest (errno=No such file or directoryin /web/htdocs/www.freestyleweb.it/home/progetti/condominio_new/xml/ClassSQLimport.php on line 30

    Warning
    fread(): supplied argument is not a valid stream resource in /web/htdocs/www.freestyleweb.it/home/progetti/condominio_new/xml/ClassSQLimport.php on line 30
    Completato 

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629

    Re: sql

    Originariamente inviato da Werwolfe
    Ragazzi ho fatto uno script che tramite dei file php importa direttamente tramite file sql, ma mi da questo errore

    Codice PHP:

    Warning
    fopen(SQLTest) [function.fopen]: failed to open streamNo such file or directory in /web/htdocs/www.freestyleweb.it/home/progetti/condominio_new/xml/ClassSQLimport.php on line 29

    Warning
    filesize() [function.filesize]: Stat failed for SQLTest (errno=No such file or directoryin /web/htdocs/www.freestyleweb.it/home/progetti/condominio_new/xml/ClassSQLimport.php on line 30

    Warning
    fread(): supplied argument is not a valid stream resource in /web/htdocs/www.freestyleweb.it/home/progetti/condominio_new/xml/ClassSQLimport.php on line 30
    Completato 
    Ciao, come si vede bene dai warning l'errore è alle linee 29 e 30 del file ClassSQLimport.php.
    Posta il codice relativo così da poterti aiutare meglio.

  3. #3
    Certo allora :

    Codice PHP:
    <?php
    include ("clss.php");
    /*
    $host = "yourDBHost";
    $dbUser = "youuser";
    $dbPassword = "yourpass";
    $sqlFile = "yourSqlFile.sql";
    */

    $host "localhost";
    $dbUser "xxx";
    $dbPassword "xxx";
    $sqlFile "SQLTest.sql";

    $newImport = new sqlImport ($host$dbUser$dbPassword$sqlFile);
    $newImport -> import ();




    //------------------ Show Messages !!! ---------------------------
    $import $newImport -> ShowErr ();

    if (
    $import["exito"] == 1)
    {
    echo 
    "Istallazione completa";
    } else {
    echo 
    $import ["errorCode"].": ".$import ["errorText"];
    }

    ?>
    file class

    Codice PHP:
    <?php
    //SQLImporter
    //Version 1.0
    //Import the data stored in a SQL file into a MySql Database
    //Rubén Crespo Álvarez - [email]rumailster@gmail.com[/email] [peachep.wordpress.com]

    class sqlImport {
        
        
    //recogemos las variables
        
    function sqlImport ($host$user,$pass$ArchivoSql) {
        
    $this -> host $host;
        
    $this -> user $user;
        
    $this -> pass $pass;
        
    $this -> ArchivoSql $ArchivoSql;
        }

        
    //Conexion a la base de datos
        
    function dbConnect () {
        
    $con mysql_connect($this -> host$this -> user$this -> pass);
        }
        
        
    //Volcamos los datos
        
    function import () 
        {   
        
               if (
    $this -> con !== false
               {

             
    $f fopen($this -> ArchivoSql,"r+");
            
    $sqlFile fread($ffilesize($this -> ArchivoSql));
             
    $sqlArray explode(';'$sqlFile);

                 foreach (
    $sqlArray as $stmt
                 {
                       if (
    strlen($stmt) > 3)
                       {
                        
    $result mysql_query($stmt);
                          if (!
    $result)
                          {
                         
    $CodigoError mysql_errno();
                         
    $TextoError mysql_error();
                         break;
                          }
                  
                    }
            
                  }
              }
              
        }
    //Fin de Dump
        
        //controlamos y mostramos los posibles errores en el proceso
        
    function ShowErr () 
        {    
               if (
    $this -> CodigoError == 0)
               {
               
    $Salida ["exito"] =  1;
            }else{
            
    $Salida ["exito"] =  0;           
            
    $Salida ["errorCode"] = $this -> CodigoError;
            
    $Salida ["errorText"] =  $this -> TextoError;
               }

        return 
    $Salida;
        }


       
    ?>

  4. #4
    L'errore è molto chiaro:

    codice:
    ...No such file or directory...
    Non viene trovato il file "SQLTest.sql".
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Ho provato un altro script ma ho il seguente errore

    script
    Codice PHP:
    <?php
    $dbhost 
    "";
    $dbuser "";
    $dbpass "";
    $dbname "";

    $db mysql_connect($dbhost$dbuser$dbpass) or die("Impossibile connettersi al database: " mysql_error());
    mysql_select_db($dbname) or die("Impossibile selezionare il database: " mysql_error());

     
    $fp fopen('test.sql''r');
     while(
    $fp != feof())
     {
     
    $line fread($fp2048);
     
    $line mysql_real_escape_string($db$line);
     
    mysql_query($line);
     }
     
    fclose($fp);
     
    ?>
    Codice PHP:
    WarningWrong parameter count for feof() in /web/htdocs/www.freestyleweb.it/home/progetti/import/test.php on line 12

    Warning
    mysql_real_escape_string() expects parameter 1 to be stringresource given in /web/htdocs/www.freestyleweb.it/home/progetti/import/test.php on line 15 

  6. #6
    Perdonami, ma basterebbe molto semplicemente buttare un occhio al manuale. La funzione feof() richiede un parametro in input!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Visto manuale è tutto in inglese, ci capisco come che parametro devo inviare tramite input? grzie x l'aiuto

  8. #8
    Ho modificato così

    <?php
    $dbhost = "+++";
    $dbuser = "++++";
    $dbpass = "+++++";
    $dbname = "+++++";

    $dbh = mysql_connect($dbhost, $dbuser, $dbpass) or die("Impossibile connettersi al database: " . mysql_error());
    mysql_select_db($dbname) or die("Impossibile selezionare il database: " . mysql_error());
    $query = "";
    $handle = fopen($test_sql, "r");
    if ($handle) {
    mysql_query("START TRANSACTION", $dbh);
    while (!feof($handle)) {
    $query.= fgets($handle, 4096);
    if (substr(rtrim($query), -1) == ';') {
    if(!empty($query))
    mysql_query($query, $dbh) or
    die(mysql_error() . mysql_query("ROLLBACK"));
    $query = '';
    }
    }
    fclose($handle);
    }
    mysql_query("COMMIT", $dbh);
    ?>

    Non funziona ma nn mi da nessun errore ç_ç

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.