[PHP] Recoverable fatal error:

johnnyita1

Nuovo Utente
14 Nov 2017
4
0
1
35
dato questo form

<form action="update_dati.php" method="post">

<div class="form-group">
<select class=""name="id">

<?php
while($datiRiga = mysqli_fetch_assoc($test)){
$id = $datiRiga['id'];
echo "<option value='$id'>$id</option>";
}
?>
</select>
</div>

<input type="submit" name="submit" value="Aggiorna" class="btn btn-success">

e questo
Codice:
if(isset($_POST["submit"])){


$_POST["username"];
$_POST["password"];
$_POST['id'];

$richiesta="UPDATE utenti SET username='$user', password='$pass' WHERE id=$id ";

if(mysqli_query($connessioneDB,$richiesta)) {
echo "i dati sono aggiornati con successo";
}else{
  echo "impossibile eseguire $richiesta . mysqli_error($connessioneDB)";
}
}

mysqli_close($connessioneDB);
[\CODE]
avviando la pagina in chrome mi dà il form se clicco su aggiorna mi dà questo errore:

Recoverable fatal error[/B]: Object of class mysqli could not be converted to string in line42

la riga 42 è questa: [B]echo "impossibile eseguire $richiesta . mysqli_error($connessioneDB)";
[/B]
 

johnnyita1

Nuovo Utente
14 Nov 2017
4
0
1
35
al servire si connette, e appena faccio aggiorna
mi dà questo errore: Recoverable fatal error: Object of class mysqli could not be converted to string 42
e la stringa 42 è questa:
echo "impossibile eseguire $richiesta . mysqli_error($connessioneDB)";
 

marino51

Utente Attivo
28 Feb 2013
2.904
160
63
Lombardia
dopo

PHP:
if(isset($_POST["submit"])){
e prima di

PHP:
mysqli_close($connessioneDB);
non si vede nessuna connessione al db,

"giro" la tua affermazione

e appena faccio aggiorna, al server si connette ( !!!! )

come, dove, quando e come lo sai ?

a me sembra che lo script non esegua ( ma non essendoci gestione d'errore, lo suppongo -> * )

PHP:
if(mysqli_query($connessioneDB,$richiesta))
e di conseguenza "caschi" qui

PHP:
echo "impossibile eseguire $richiesta . mysqli_error($connessioneDB)";
perchè non esiste la connessione espressa nell'oggetto $connessioneDB


-> * falso / vero non è una gestione d'errore che riporta la causa
 

johnnyita1

Nuovo Utente
14 Nov 2017
4
0
1
35
se faccio run su questo codice mi dà la pagina con echo sei connesso,
se faccio aggiorna mi dà sempre quell'erroredb.jpg db.jpg
Codice:
<?php

$connessioneDB = mysqli_connect("localhost","root"," ","log");

if ($connessioneDB) {
  echo "Perfetto sei connesso";
}else{
  die ("impossibile connettersi");
}


$test=mysqli_query($connessioneDB, "SELECT*FROM utenti");
if (!$test) {
  echo ("messaggio di errore:". mysqli_error($connessioneDB));
}



if(isset($_POST["submit"])){


$user=$_POST["username"];
$pass=$_POST["password"];
$id=$_POST['id'];


$richiesta="UPDATE utenti SET username='$user', password='$pass' WHERE id=$id ";



if(mysqli_query($connessioneDB,$richiesta)) {
echo "i dati sono aggiornati con successo";
}else{
echo "impossibile eseguire $richiesta . mysqli_error($connessioneDB)";


}
}


mysqli_close($connessioneDB);



 ?>



<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name = "viewport" content="widht=device-widht,initial-scale=1">
   <title>Aggiornare dati in una tabella del database</title>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
 crossorigin="anonymous">

  </head>
  <body>

    <div class="cantainer">

      <h2 class="bg-success">Aggiornare dati in una tabella del database</h2>
      <div class="col-sm-6">

        <form action="update_dati.php" method="post">


      <div class="form-group">
      <label for="username">nome utente</label>
      <input type="text"name="username" class="form-control">
      </div>

       <div class="form-group">
       <label for="password">password</label>
       <input type="password" name="password"  class="form-control">
       </div>



        <div class="form-group">
        <select class=""name="id">

             <?php
        while($datiRiga = mysqli_fetch_assoc($test)){
        $id = $datiRiga['id'];
       echo "<option value='$id'>$id</option>";
       }
          ?>
        </select>
        </div>

        <input type="submit" name="submit" value="Aggiorna" class="btn btn-success">
   </div>
</form>

 </div>
    </div>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>

 </body>
</html>

[\CODE]