Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Primi passi con MySql

  1. #1

    Primi passi con MySql

    Salve, ho iniziato da poco a cercare di capirci qualcosa del mysql.. Volevo creare una query che aumentasse di uno ad ogni visita e restituisse il valore, ma non credo siano esatti i codici:

    Codice PHP:
    <?

    $host
    ="localhost"
    $username=" USERNAME "
    $password="";
    $db_name="NOME DATABASE";
    $tbl_name="visite"
    $db mysql_connect($localhost,$username,$password);
    mysql_select_db($db_name,$db);

    mysql_query("INSERT INTO ".$tbl_name." (numero_visite AUTO_INCREMENT)",$db) or die(mysql_error());

    $select mysql_query("SELECT 'visite' FROM ".$tbl_name." );

    echo mysql_num_rows(
    $select);

    mysql_close(
    $db);

    ?>
    Se non sono esatti, mi sapreste indicare dove e come cambiare? Grazie in anticipo
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  2. #2
    Utente di HTML.it L'avatar di ercoli
    Registrato dal
    Mar 2002
    Messaggi
    173
    Ad occhio, io farei così:

    $contatore = mysql_query("SELECT visite FROM '$tbl_name'");
    $count = mysql_fetch_array($contatore);
    ++$count['visite'];

  3. #3
    Grazie, ma così è corretto o è errato?

    Codice PHP:
    mysql_query("INSERT INTO ".$tbl_name." (numero_visite AUTO_INCREMENT)",$db) or die(mysql_error()); 
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  4. #4
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    Originariamente inviato da ercoli
    Ad occhio, io farei così:

    $contatore = mysql_query("SELECT visite FROM '$tbl_name'");
    $count = mysql_fetch_array($contatore);
    ++$count['visite'];
    questo però non incrementa..
    nel senso che manca la query di insert..

    la insert ti funziona?
    perchè nella select c'è un errore che si vede anche qua dal colore del codice..
    credo dovrebbe essere così quella riga:
    Codice PHP:
    $select mysql_query("SELECT 'visite' FROM ".$tbl_name ); 

  5. #5
    Originariamente inviato da telegio
    questo però non incrementa..
    nel senso che manca la query di insert..

    la insert ti funziona?
    perchè nella select c'è un errore che si vede anche qua dal colore del codice..
    credo dovrebbe essere così quella riga:
    Codice PHP:
    $select mysql_query("SELECT 'visite' FROM ".$tbl_name ); 
    Già l' errore l' ho notato dopo dai colori, non avevo chiuso l' apice.. Comunque per farlo incrementare come faccio? Forse avevo capito male a cosa serve auto_increment

    PS: Credo che un errore sia questo, ho scritto insert into NOMETABELLA (numero_visite) mentre poi nel select ho scritto solo visite..

    Comunque ho inserito questi codici:

    Codice PHP:
    <?
    $host
    ="localhost"
    $username="webglossary"
    $password="";
    $db_name="my_webglossary";
    $tbl_name="visite"
    $db mysql_connect($localhost,$username,$password);
    mysql_select_db($db_name,$db);

    mysql_query("INSERT INTO ".$tbl_name." (numero_visite AUTO_INCREMENT)",$db) or die(mysql_error());

    $select mysql_query("SELECT 'numero_visite' FROM ".$tbl_name );

    $count mysql_fetch_array($select);
    ++
    $count['visite'];

    mysql_close($db);

    ?>
    e mi da questo errore:

    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 'AUTO_INCREMENT) VALUES' at line 1
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  6. #6
    Ci sono diversi errori, ma il piu' fondamentale e' il tentativo di improvvisare cose che andrebbero invece studiate: buttare li' comandi a caso senza sapere cosa fanno raramente porta a buoni risultati.

    Un campo puo' essere definito AUTO_INCREMENT all'atto della creazione della tabella, non e' una proprieta' che si specifica in una insert, e incrementa il valore quando si creano nuovi record. Tu vuoi davvero creare un contatore aggiungendo una riga ogni volta invece di aggiornare un valore singolo in un record? Perche' nel secondo - e piu' sensato - caso allora devi usare una UPDATE e non INSERT. Nel primo caso invece (per esempio se non devi creare solo un contatore ma un log) allora immagino dovrai inserire anche altri dati.

    Inoltre la sintassi di INSERT e' sbagliata, oltre al fatto che non si specifica AUTO_INCREMENT in una INSERT, i VALUES vanno racchiusi tra parentesi tonde.

    Anche la sintassi della SELECT e' sbagliata, i nomi delle colonne NON vanno tra apici, ma POSSONO essere racchiusi tra backtick (o apici inversi: `)

  7. #7
    mmm quegli apici a quali tasti corrispondono? Comunque per la creazione della tabella.. Ad ogni visita non c'è il rischio che se ne crei una nuova o venga sovrascritta la precedente e quindi resterà sempre 1? Se mi dai una mano coi codici.. Come dicevo stavo leggendo la guida su html.it ma usa tutto in funzioni e alla 6° pagina non ti ricordi piu' a cosa corrispodevano tali funzioni..
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

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.