Visualizzazione risultati 1 fino 16 di 16
Like Tree1Likes
  • 1 Post By mzanella

Discussione: messaggio di errore

  1. #1
    searchplayer non è connesso Neofita
    Data registrazione
    18-12-2020
    Messaggi
    16

    Post messaggio di errore

    Salve, continuo a riscontrare questo tipo di errore nel creare una tabella spuntando auto_increment

    errore: #1063 - Incorrect column specifier for column 'nome'

    Dandomi questo errore sono costretto a spuntare null ma inserendo i dati con mysqli mi da quest'altro
    errore:

    errore: Fatal error: Call to a member function query() on null in /membri/searchplayer/accesso.php on line 15.


    Grazi in anticipo!

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Sembrano due errori diversi, uno relativo alla creazione di una tabella, l'altro relativo a una query.

    Mostra la struttura della tabella per capire cosa c'è che non va nel primo.

    E la porzione di codice rilevante di accesso.php per il secondo.

    I suggerimenti che do più spesso:


  3. #3
    searchplayer non è connesso Neofita
    Data registrazione
    18-12-2020
    Messaggi
    16

    Predefinito

    il testo di accesso.php è il seguente:

    Codice PHP:
    <?php
    $con
    = mysqli_connect("localhost","searchplayer","***********","my_searchplayer");

    // Check connection
    if (mysqli_connect_errno()) {
    echo
    "Failed to connect to MySQL: " . mysqli_connect_error();
    exit();
    }

    $nome = $_POST['nome'];
    $modalita = $_POST['modalita'];
    $rank = $_POST['rack'];
    $maxP = $_POST['nplayer'];
    $pass = $_POST['pass'];
    $mysqli -> query("INSERT INTO rlLobby (nome, modalità, rank, maxP, pass) VALUES ('$nome', '$modalita', '$rank', $maxp, '$pass')");

    // Print auto-generated id
    echo "New record has id: " . $mysqli -> insert_id;

    $mysqli -> close();
    ?>
    PS:dove vengono definite le variabili ci sono degli errori di ortografia calcolati

    Per la struttura vuoi una foto?

  4. #4
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Stai mescolando l'interfaccia procedurale di mysqli con quella a oggetti, scegli una delle due e usa quella.
    Concretamente l'errore nasce dal fatto che stai invocando il metodo $mysqli->query su un oggetto che non esiste: la variabile $mysqli non è stata definita da nessuna parte. Dovrei anche aggiungere un controllo per rilevare eventuali errori:

    Modifica in:
    Codice PHP:
    $query = "INSERT INTO rlLobby (nome, modalità, rank, maxP, pass) VALUES ('$nome', '$modalita', '$rank', $maxp, '$pass')";
    if (!
    mysqli_query($con, $query)) {
    die(
    mysqli_error($con));
    }

    // Print auto-generated id
    echo "New record has id: " . mysqli_insert_id($con);
    mysqli_close($con);
    Per la struttura vuoi una foto?
    Come preferisci, va bene anche una foto.
    searchplayer likes this.

    I suggerimenti che do più spesso:


  5. #5
    searchplayer non è connesso Neofita
    Data registrazione
    18-12-2020
    Messaggi
    16

    Predefinito

    ok, ecco qui la foto

    https://imgur.com/gallery/TqZfGE1

  6. #6
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Questo spiega l'errore:
    continuo a riscontrare questo tipo di errore nel creare una tabella spuntando auto_increment

    errore: #1063 - Incorrect column specifier for column 'nome'
    Come avrebbe potuto un campo di tipo VARCHAR essere AUTO INCREMENT?

    I suggerimenti che do più spesso:


  7. #7
    searchplayer non è connesso Neofita
    Data registrazione
    18-12-2020
    Messaggi
    16

    Predefinito

    ogni volta che metto auto increment mi da quell'errore, come devo fare?

    Perchè ora se provo ad inserire i dati mi da questo:

    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 'rank, maxP, pass) VALUES ('sd', 'Casuale - 2v2', '', '', 'op')' at line 1
    Ultima modifica di searchplayer : 28-12-2020 alle ore 11.11.48

  8. #8
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    ogni volta che metto auto increment mi da quell'errore, come devo fare?
    Semplice: non metterlo! Ripeto la domanda: come potrebbe una colonna di tipo VARCHAR essere AUTO_INCREMENT?
    Cosa intendevi ottenere?

    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 'rank, maxP, pass) VALUES ('sd', 'Casuale - 2v2', '', '', 'op')' at line 1
    Questo è scollegato dall'altro errore. Probabilmente è causato dal nome della colonna modalità, che ha un accento. Prova a rinominare la colonna in modalita, senza accento, sia nello schema che nella query.

    I suggerimenti che do più spesso:


  9. #9
    searchplayer non è connesso Neofita
    Data registrazione
    18-12-2020
    Messaggi
    16

    Predefinito

    Ho provato a cambiare il nome della tabella e la query ma mi viene sempre fuori cosi

  10. #10
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Riporta la query aggiornata .

    I suggerimenti che do più spesso:


  11. #11
    searchplayer non è connesso Neofita
    Data registrazione
    18-12-2020
    Messaggi
    16

    Predefinito

    Codice PHP:
    $query = "INSERT INTO rlLobby (nome, modalita, rank, maxP, pass) VALUES ('$nome', '$modalita', '$rank', '$maxp', '$pass')";
    if (!
    mysqli_query($con, $query)) {
    die(
    mysqli_error($con));
    }

    // Print auto-generated id
    echo "New record has id: " . mysqli_insert_id($con);
    mysqli_close($con);

  12. #12
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    La sintassi sembra corretta: qualsiasi sia il problema non risiede lì.

    I suggerimenti che do più spesso:


  13. #13
    searchplayer non è connesso Neofita
    Data registrazione
    18-12-2020
    Messaggi
    16

    Predefinito

    e come dovrei fare per trovare l'errore?

  14. #14
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Un bel po' di debug.
    La stessa query lanciata manualmente da PhpMyAdmin funziona?
    Se no, quale problema riporta?
    Se sì, in cosa differisce da quella generata dal codice?

    I suggerimenti che do più spesso:


  15. #15
    searchplayer non è connesso Neofita
    Data registrazione
    18-12-2020
    Messaggi
    16

    Predefinito

    per lanciata manualmente intendi inserire i dati su inserisci?

  16. #16
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Puoi inserire manualmente la query dalla scheda SQL, quindi eseguirla cliccando sul tasto "esegui" (o "run", o qualcosa di simile).

    I suggerimenti che do più spesso:


Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •