Visualizzazione risultati 1 fino 5 di 5

Discussione: Errore mysql

  1. #1
    tuttainformatica non è connesso Utente giovane
    Data registrazione
    05-03-2020
    Messaggi
    55

    Predefinito Errore mysql

    Ciao,
    sono anni che continuo a usare lo stesso script per creare nuovi utenti e oggi ha deciso si non funzionare più.
    Praticamente ho una tabella user con 15 campi però q1uando registro l'utente inserisco solo username e password con il codice che mi aveva fatto mi pare mzanella qualche anno fa e ha sempre funzionato.
    Oggi ha deciso di dare questo errore:
    Codice:
    Field 'name' doesn't have a default value
    Il codice è questo
    Codice PHP:
    include("config.php");

    $username=$_POST['username'];
    $password=password_hash($_POST['password'], PASSWORD_DEFAULT);

    $query = "INSERT INTO user (username, password) VALUES (?,?)";
    $stmt = mysqli_prepare($con, $query);
    if (!
    $stmt) {
    die(
    'mysqli error: '.mysqli_error($con));
    }
    mysqli_stmt_bind_param($stmt, "ss", $username, $password);
    mysqli_stmt_execute($stmt) or die(mysqli_stmt_error($stmt));
    Grazie

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,708

    Predefinito

    Presupponendo che il campo "name" sia di tipo "VARCHAR(255)", dovresti rimuovere il "NOT NULL" dal campo "name": puoi farlo semplicemente da phpMyAdmin: seleziona il tuo database (a sinistra: my_tuttainformatica), quindi vai nel campo SQL ed incolla:
    Codice:
    ALTER TABLE `user` CHANGE `name` `name` VARCHAR(255)
    Quindi premi "esegui".

    Altrimenti puoi impostare un valore di default per il campo "name":
    Codice:
    ALTER TABLE `user` CHANGE `name` `name` VARCHAR(255) NOT NULL DEFAULT 'name'

    Ciao!

  3. #3
    tuttainformatica non è connesso Utente giovane
    Data registrazione
    05-03-2020
    Messaggi
    55

    Predefinito

    Ciao,
    grazie; si effettivamente così posso mettere solo username e password nel database però non posso modificare i dati mi rimane sempre NULL mentre se metto un valore di default ovviamente mi vengono estratti come se fossero dati inseriti...
    Ma perché questo problema???

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,708

    Predefinito

    Perché la nuova versione di Mysql non permette che un campo sia né "NOT NULL" né non abbia un valore di default.

    Hai provato ad impostare una stringa vuota come default?

    Codice:
    ALTER TABLE `user` CHANGE `name` `name` VARCHAR(255) NOT NULL DEFAULT ''
    Ciao!

  5. #5
    tuttainformatica non è connesso Utente giovane
    Data registrazione
    05-03-2020
    Messaggi
    55

    Predefinito

    Risolto grazie

Regole di scrittura

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