Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Errore Insert Into

  1. #1
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314

    Errore Insert Into

    Salve,

    codice:
    $mysqli = new mysqli('localhost', 'root', 'password', 'om');
    
     $result = $mysqli->query("INSERT INTO users ('username','password','tipo') VALUES ('$utente','omeromusical','$priv')");
    $utente da il nome giusto dell'utente,
    $priv da il codice giusto di privilegio
    I Campi esistono.


    La Tabella users non si aggiorna con il nuovo record.

    Grazie Daniele

  2. #2
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Ti sei connesso a Mysql ma non hai selezionato il DB.
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  3. #3
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    si è selezionato è il parametro om
    uso mysqli che mi da (server, utente, password, database)

    La cosa che mi fa 'arrabbiare' (detto in maniera da evitare warning) è che la stessa sintassi la uso con altre tabelle e query e funzionano perfettamente..

  4. #4
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    prova a togliere gli apici ai nomi delle colonne, così:

    codice:
    $result = $mysqli->query("INSERT INTO users (username, password, tipo) VALUES ('$utente','omeromusical','$priv')");
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  5. #5
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Già provato, ed ho già provato a far generare il codice PHP da PhpMyAdmin ma quel tipo di codice non gli piace..

  6. #6
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Uhmmm l'unica è andare a tentativi.
    Proverei a passare alla funzione una variabile contenente la query.
    Oppure provare a ridurre gli elementi da inserire, mettendo magari solo lo username per vedere se sono quelli a creare problemi perchè la query è chiaramente corretta, soprattutto con i nomi delle colonne senza apici.
    Oppure ancora prova ad usare mysql_query()
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  7. #7
    Hai provato anche a mettere
    Codice PHP:
    $mysqli->autocommit(TRUE); 
    prima di fare la insert?

    sia mai che per qualche motivo non committi la transazione..

  8. #8
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Allora faccio una cosa.. Pubblico tutto il codice..

    Questo è lo script che elabora il FORM

    Codice PHP:
    <?php
    session_start
    (); 
    $mysqli = new mysqli('localhost''root''password''omeromusical');
    $utente=$_POST['nome'];
    $privilegio=$_POST['privilegi'];
    $tipoedit=$_POST['tipomodifica'];
    $preurl=$_POST['preurl'];
    $mysqli->autocommit(TRUE);
        
    $query="INSERT INTO users (username) VALUES ('$utente')";
    $result=$mysqli->query($query);
    /* close connection */
    $mysqli->close();
    $dr"c:/projectarea/progetti/website";
    $stile='blackboard';
    $titolo='Sito Ufficiale';
    include_once(
    "$dr/includes/head.php");
    include(
    "$dr/pages/common/header.php");
    include(
    "$dr/pages/common/aside.php");
    ?>
        <section id='centrale'>
            <?php
            
    echo $utente
            
    ?>
            

            <?php
            
    echo $query;
            
    ?>
        </section>
    <?php
    include("$dr/pages/common/footer.php");
    include_once(
    "$dr/includes/foot.php");
    ?>
    Questo è il Form


    codice:
    <?php
    session_start();
     $_SESSION['ultpage']="$pa/pages/main.php";
    ?>
    <!DOCTYPE HTML>
    <html>
    <head>
     <link rel='stylesheet' type='text/css' href='http://localhost/stili/fonts.css'>
    </head>
    <body>
          <form action='http://localhost/scripts/php/makeusr.php' method='post'id='UpdtUsr'>
            <h1>Crea Utente</h1>
    	<fieldset id='dati'>
    		<label for='user'class='user'><span>UserName</span>
                        <input type="text" name='nome' class='utente' id='user'></label>
                        <label><span>Privilegi</span>
                        <select name="privilegi" class='privilegio'>
                             <option value="3" selected="selected">Utente</option>
                             <option value="2">Responsabile</option>
                             <option value="1">Admin</option>
                        </select>
                        </label>
    	</fieldset>
    	<fieldset id='pulsanti'>
    		<input type='submit' name='submit' value='' id='accetta'>
    		<input type="reset" name="reset"  value="" id='resetta'>
    	</fieldset>
            <input type="hidden" name="tipomodifica" value="Crea">
              <input type="hidden" name="preurl" value="$pa/pages/main.php">
    </form>
    
    </body>
    </html>
    Ho provato ad aggiungere anche l'ultimo post ed a provare a non metterlo..

    Sono convinto che è una virgola che ho sbagliato ma non riesco a capire dove..

    Grazie per il tempo che state perdendo..

  9. #9
    Fatti stampare l'errore mysqli dopo la insert,
    ...almeno sappiamo cosa va storto (non trova il db? errore di sintassi sql? ecc?)
    Codice PHP:
    $result=$mysqli->query($query);
    if (!
    $result)) {
        echo 
    "Error = ".$mysqli->error;


  10. #10
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    RAGAZZI DA BERE PER TUTTI E DUE OFFRO IO !!

    A parte gli scherzi, il problema era a monte, cioè nella tabella, quelli erano solo tre campi di una tabella ed il suo problema era che non aveva un valore predefinito per gli altri campi.
    Ho dovuto metterli come NULL.

    codice:
    	ulisse	omeromusical	NULL	NULL	NULL	NULL	NULL	3	NULL	NULL
    Ora l'ultimo problema è: è possibile predisporre la tabella per evitare che compaia il valore NULL nei campi facendoli rimanere vuoti.. ??
    Purtroppo è il mio primo progetto con un'area utenti e con un database strutturato in questa maniera..

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 © 2026 vBulletin Solutions, Inc. All rights reserved.