Visualizzazione dei risultati da 1 a 7 su 7

Discussione: !mysql_query

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190

    !mysql_query

    Premettendo che la connessione al db è stata effettata e che il seguente codice registra informazioni giornaliere:
    Codice PHP:
     
    Aprendo la pagina appare:
    codice:
    
    
    Perche l'errore è qui:
    Codice PHP:
     
    Cioè non puo selezionare nessuna tabella dato che non esiste. Allora ho provato:
    Codice PHP:
     
    La prima volta funziona, cioè crea la tabella e inserisce i dati, ma riandando sulla pagina, essa resta bianca.
    Come mai? Come posso risolvere?

  2. #2
    Prima di tutto: perche' creare una tabella per ogni giorno invece di usare un'unica tabella?

    Poi il tuo ultimo codice non ha senso, mettere un ! prima di mysql_query non puo' certo fare nulla di utile.

    Se vuoi continuare per questa strada delle tabelle quotidiane (che io sconsiglio a meno che non ci sia un valido motivo per farlo), puoi fare una delle seguenti cose:

    - eseguire una "SHOW TABLES" e verificare se la tabella esiste o meno, e comportarti di conseguenza
    - tentare sempre la creazione della tabella con la clausola IF NOT EXISTS

  3. #3
    Buongiorno, non fai prima con un IF NOT EXIST ?

    codice:
    /*Ricaviamo le informazioni riguardanti l'utente*/ 
    $refe = $_SERVER['HTTP_REFERER']; //Estraggo l'URL di provenienza del navigatore 
    $ip = $_SERVER['REMOTE_ADDR']; //Estraggo l'IP del navigatore 
    $agent = $_SERVER['HTTP_USER_AGENT']; //Estraggo le info sul browser e so 
    $time = time(); //Estraggo il timestamp 
    $date = date('y-m-d H:i:s', $time); //Ricavo la data 
    $date_db = date('d_m_y'); 
    
    /* ------- SCRITTURA NEL DATABASE ------- */ 
    
    mysql_query("CREATE TABLE IF NOT EXISTS visite_$date_db ( 
    id INT(20) NOT NULL auto_increment, 
    ip VARCHAR(50)default NULL, 
    provenienza VARCHAR(1000) default NULL, 
    sub VARCHAR(50) default NULL, 
    agent VARCHAR(500) default NULL, 
    date DATETIME, 
    PRIMARY KEY ( id ) )") or die (mysql_error()); 
    
    //salviamo le informazioni in visite_$date_db 
    $db_info_ute = "INSERT INTO visite_$date_db (ip, provenienza, sub, agent, date) VALUES ('$ip', '$refe', '$sub', '$agent', '$date')"; 
    mysql_query ($db_info_ute) or die (mysql_error()); 
    
    /* ------- FINE SCRITTURA NEL DATABASE ------- */

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Originariamente inviato da StefanUccio
    Buongiorno, non fai prima con un IF NOT EXIST ?
    Mi da errore di sintassi SQL.

    --------------------------


    Codice PHP:
     
    Cosi?

    P.S.: @k.b: c'è un buon motivo per cui lo faccio altrimenti mi sarei risparmiato il lavoro.

  5. #5
    Ho corretto il codice che ho postato (non l'avevo provato).

    Avevo scritto:
    codice:
    mysql_query("CREATE TABLE visite_$date_db IF NOT EXIST (
    Invece di (questo pare funzioni):

    codice:
    mysql_query("CREATE TABLE IF NOT EXISTS visite_$date_db (
    Così va bene ?

  6. #6
    Quando si ottiene un errore di sintassi la cosa migliore da fare e'... controllare la sintassi corretta

    http://dev.mysql.com/doc/refman/5.1/...ate-table.html

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    190
    Grazie Mille ad entrambi! Ora sembra funzionare! Grazie ancora!

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.