Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Query da file di testo

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    13

    Query da file di testo

    Ciao a tutti
    Io ho bisogno di prendere tutto il testo(sche sarebbero i comandi sql) da un file e poi fare la query al db.
    Quindi prelevo il testo:
    codice:
    $sql_file[0] = "prova.sql";
    $handle = fopen( $sql_file[0], "r" );
    $query = fread( $handle, filesize($sql_file[0]));
    fclose($handle);
    e ho quindi nella variabile $query il seguente testo:
    codice:
    DROP TABLE IF EXISTS prova,
    
    
    
    CREATE TABLE prova (
    
     equipaggiamento_id INT(6) UNSIGNED not null AUTO_INCREMENT,
    
     equipaggiamento_nome VARCHAR (255) not null ,
    
     equipaggiamento_peso DECIMAL (5,2),
    
     equipaggiamento_costo INT (5),
    
     equipaggiamento_tipo VARCHAR (255) not null ,
    
     equipaggiamento_desc text NOT NULL,
    
     PRIMARY KEY (equipaggiamento_id)
    
    )
    eseguiro' ora la query:
    codice:
    mysql_query($query, $db_connect) or die("Errore nella query: " . mysql_error());
    ma mi da questo errore che non riesco a capire cosa sia:
    codice:
    Errore nella query: 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 TABLE prova ( equipaggiamento_id INT(6) UNSIGNED not null AUTO_INCREMEN' at line 3
    Sapete aiutarmi?

    tnx

  2. #2
    potresti provare invece che con fopen e fread con file, così:

    $sql_file[0] = "prova.sql";
    $handle = file( $sql_file[0]);
    for ($i=0; $i<=count($handle); $i++)
    $query .= $handle[$i];
    mysql_query($query, $db_connect) or die("Errore nella query: " . mysql_error());

    la funzione FILE legge appunto un file di testo e lo inserisce in un array in cui ogni elemento è una riga del file, poi il ciclo for unisce tutte le righe in una unica stringa.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    13
    funziona anche cosi'. ma l'errore di prima rimane. ho fatto delle prove e ho scoperto che il problema è
    "DROP TABLE IF EXISTS prova,"
    non vuole funzionare ocn questa stringa, ma togliendo funziona perfettamente. ho provato a sostituire la ',' con un ; e anche a tolgierla completamente, ma niente!
    nessun suggerimento?

  4. #4
    Prova a fare DROP e CREATE con 2 variabili $query1 e $query2 ad esempio iin modo da mandare al DB 2 query separate.
    Non esistono cose che non si possono fare... Esistono solo cose che non si sanno fare!

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.