Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Mysql

  1. #1

    Mysql

    <?php
    //connect to MySQL
    $db = mysql_connect('localhost', 'root', 'mypasswd') or
    die ('Nessuna Connessione. Controlla i parametri di connessione.');

    //Creo il DB persone
    $query = 'CREATE DATABASE IF NOT EXISTS persone';
    mysql_query($query, $db) or die(mysql_error($db));

    //Per sicurezza imposto come attivo il db persone
    mysql_select_db('persone', $db) or die(mysql_error($db));

    //Creo la tabella schede
    $query = 'CREATE TABLE schede (
    schede_id VARCHAR(255) NOT NULL AUTO_INCREMENT,
    schede_nome VARCHAR(255) NULL,
    schede_cognome VARCHAR(255) NOT NULL,
    schede_comune VARCHAR(255) NOT NULL,
    schede_provincia VARCHAR(255) NOT NULL,
    schede_cellulare INT NOT NULL,
    PRIMARY KEY (schede_id)
    )
    ENGINE=MyISAM';
    mysql_query($query, $db) or die (mysql_error($db));

    echo 'Database creato con successo!';
    ?>

    Questo file funziona. poi passo all'inserimento:

    <?php

    //Collegamento a Mysql
    $db = mysql_connect('localhost', 'root', 'miapassword') or
    die ('Connessione fallita. Conrolla i dati di accesso al db');
    //Per sicurezza imposto il db persone come attivo
    mysql_select_db('persone',$db ) or die (mysql_error ($db));

    //Inserisco i dati nella tabella schede
    $query='INSERT INTO schede
    (schede_id, schede_nome, schede_cognome, schede_comune, schede_provincia, schede_cellulare)
    VALUES
    (1, "prova","prova","prova","prova",3337391199),
    (2, "prova1","prova1","prova1","prova1",3331444464 );
    mysql_query($query,$db) or die (mysql_error($db));

    echo'Dati Inseriti con successo';

    ?>

    Questo non funziona. Qualcuno saprebbe dirmi dove è l'errore?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Prima di tutto ti consiglio di inserire il codice tra i tag {PHP}{/PHP} (con le parentesi quadre al posto delle graffe), in caso si tratti di codice php oppure {CODE}{/CODE} in caso di un altro linguaggio.
    Secondo, se puoi postare il messaggio di errore che ottieni al caricamento della seconda pagina è meglio.


  3. #3
    id con autoincrement non varchar!
    http://www.indianiamericani.it

  4. #4
    Secondo me non è possibile dichiarare auto_increment una colonna di tipo varchar.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Originariamente inviato da marcalby
    id con autoincrement non varchar!
    Hai ragione, non avevo letto neanche il codice in modo approfondito perchè aspettavo che postasse gli errori.

    @bismarck2005: Come ha detto marcalby devi mettere schede_id come int auto_increment:
    Codice PHP:
    <?php
    //connect to MySQL
    $db mysql_connect('localhost''root''mypasswd') or
    die (
    'Nessuna Connessione. Controlla i parametri di connessione.');

    //Creo il DB persone
    $query 'CREATE DATABASE IF NOT EXISTS persone';
    mysql_query($query$db) or die(mysql_error($db));

    //Per sicurezza imposto come attivo il db persone
    mysql_select_db('persone'$db) or die(mysql_error($db));

    //Creo la tabella schede
    $query 'CREATE TABLE schede (
    schede_id INT NOT NULL AUTO_INCREMENT,
    schede_nome VARCHAR(255) NULL,
    schede_cognome VARCHAR(255) NOT NULL,
    schede_comune VARCHAR(255) NOT NULL,
    schede_provincia VARCHAR(255) NOT NULL,
    schede_cellulare INT NOT NULL,
    PRIMARY KEY (schede_id)
    )
    ENGINE=MyISAM'
    ;
    mysql_query($query$db) or die (mysql_error($db));

    echo 
    'Database creato con successo!';
    ?>

  6. #6
    Un momento ragazzi. L'errore non me lo da sul file che crea il Db e le tabelle (anzi funziona bene). L'errore me lo da sul file che inserisce i dati e cioè:

    Codice PHP:
    <?php  //Collegamento a Mysql $db = mysql_connect('localhost', 'root', 'mypasswd') or die ('Connessione fallita. Conrolla i dati di accesso al db'); //Per sicurezza imposto il db persone come attivo mysql_select_db('persone',$db ) or die (mysql_error ($db));  //Inserisco i dati nella tabella schede $query='INSERT INTO schede     (schede_id, schede_nome, schede_cognome, schede_comune, schede_provincia, schede_cellulare) VALUES (1, "bismark","bismark","bismark","bismark",3337391199), (mysql_query($query,$db) or die (mysql_error($db));  echo'Dati Inseriti con successo';  ?>
    Anzi in realtà non mi restituisce nessun errore, ma esce solo una pagina bianca dopo l'avvio del file

  7. #7
    controlla nel database se esiste il campo schede_id. per me no...
    http://www.indianiamericani.it

  8. #8
    Un autoincrement non può essere un varchar, deve essere un int (tiny, small, medium, "normale", big)...
    Inoltre, se un campo è autoincrement, non hai motivi per forzare tu un valore...

  9. #9
    come dice dascos. l'errore te lo da nel file di inserimento perchè tu gli stai forzando un valore prima di tutto, secondo poi non può autoincrementare una tabella attrubuto non numerico

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.