-> Errore

Silvio0505

Utente Attivo
19 Mag 2020
20
0
1
L'errore è molto semplice, noto che appena inserisco -> nel file php che vi aggiungerò nella pagina web che andrò a visualizzare ci sarà un testo con scritto tutto il codice da -> in poi sapete aiutarmi? P.S se nel codice trovate altri errori non esitate a correggermi.

PHP:
<?

$conn = new mysqli("localhost", "root", "1234", "cose");

if ($conn->connect_error) {
    die("Connection failed:" . $conn->connect_error);
}

$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$eta = $_POST['eta']


$toinsert = INSERT INTO cose1( Nome , Cognome, Età ) VALUES ($nome, $cognome , $eta );

$success = "Okok";
$fail = "Qualcosa è andato storto";

if ($conn->query($toinsert) === TRUE) {
             echo "<h3> $succcess </h3>";
     } else {
             echo "<h3> $fail </h3>";
     }
}


$conn->close();
?>
 
  • Like
Reactions: Silvio0505
Quindi cosa chiedi?
Intanto grazie per avermi corretto, chiedo come mai succede che dopo il primo -> dell'php nella pagina web succede questo:


connect_error) { die("Connection failed:" . $conn->connect_error); } $nome = $_POST['nome']; $cognome = $_POST['cognome']; $eta = $_POST['eta']; $toinsert = INSERT INTO cose1( Nome , Cognome, Età ) VALUES ($nome, $cognome , $eta ); $success = "Okok"; $fail = "Qualcosa è andato storto"; if ($conn->query($toinsert) === TRUE) { echo "$succcess
"; } else { echo "$fail
"; } } $conn->close(); ?>
 
Il codice "finale" è questo sono ovviamente in due pagine diverse ma continua a darmi ancora degli errori, come vi sembra?
PHP:
PHP:
<?php


class MysqlClass
{
// parametri per la connessione al database
private $nomehost = "localhost";
private $nomeuser = "root";
private $password = "1234";
// controllo sulle connessioni attive
private $attiva = false;
// funzione per la connessione a MySQL
public function connetti()
{
if(!$this->attiva)
{
$conn = mysql_connect($this->nomehost,$this->nomeuser,$this->password);
}else{
return true;
}
}
}


$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$eta = $_POST['eta'];


$toinsert = "INSERT INTO cose1( Nome , Cognome, Età ) VALUES ($nome, $cognome , $eta )";


$success = "Okok";
$fail = "Qualcosa è andato storto";

if ($conn->query($toinsert) === TRUE) {
             echo "<h3> $succcess </h3>";
     } else {
             echo "<h3> $fail </h3>";
     }



$conn->close();
?>
HTML:
HTML:
<!DOCTYPE html>
<html lang="it" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>


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

    Nome: <input type="text" name="nome"><br>

    Cognome: <input type="text" name="cognome"><br>

    Età: <input type="text" name="eta"><br>

    <input type="Submit">

    </form>


  </body>
</html>
 
Leggi qui: https://www.php.net/manual/en/language.oop5.php

PHP:
class MysqlClass
{

private $nomehost = "localhost";
private $nomeuser = "root";
    private $password = "1234";
    private $database="NOME_DEL_DATABASE";
    public $conn=null;
   //  QUESTA NON SERVE private $attiva = false;

   public function __construct  (){
      $this->conn=new mysql($this->nomehost,$this->nomeuser,$this->password,$this->database);
   }
   public static function getConn(){
          return (new self());
    }
    public function isActive(){
       if(null!==$this->conn)return true;
       return false;
    }
///QUI FINISCE LA CLASSE!!!!!!
}

///FUORI DALLA CLASSE O IN UN NUOVO FILE
$connection=MysqlClass\getConn()->conn;
//oppure
//$connection=new MysqlClass(); $connection=$connection->conn;
$result= $connecytion->query("METTI LA TUA QUERY")->fatchAll();
//Se non funziona dd
dd($result);

//Metti questo
print_r($result);die;
 
  • Like
Reactions: Silvio0505
Grazie ancora, ora mi da questo errore:

Fatal error: Uncaught Error: Call to a member function query() on null in C:\xampp\htdocs\prove varie\roba.php:29 Stack trace: #0 {main} thrown in C:\xampp\htdocs\prove varie\roba.php on line 29

Il codice attuale è questo:

PHP:
<?php

class MysqlClass
{

private $nomehost = "localhost";
private $nomeuser = "root";
    private $password = "1234";
    private $database="bob";
    public $conn=null;
   //  QUESTA NON SERVE private $attiva = false;

   public function _construct  (){
      $this->conn=new mysql($this->nomehost,$this->nomeuser,$this->password,$this->database);
   }
   public static function getConn(){
          return (new self());
    }
    public function isActive(){
       if(null!==$this->conn)return true;
       return false;
    }
  }
///QUI FINISCE LA CLASSE!!!!!!
//$connection=MysqlClass\getConn()->conn;
//oppure
$connection=new MysqlClass(); $connection=$connection->conn;

$result= $connection->query($toinsert)->fatchAll();
//Se non funziona dd
dd($result);

//Metti questo
print_r($result);die;

$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$eta = $_POST['eta'];


$toinsert = "INSERT INTO `bob1` (`Nome`, `Cognome`, `Età`) VALUES ($nome, $cognome, $eta)";


$success = "Okok";
$fail = "Qualcosa è andato storto";

if ($conn->query($toinsert) === TRUE) {
             echo "<h3> $succcess </h3>";
     } else {
             echo "<h3> $fail </h3>";
     }



$conn->close();
?>
 
Grazie ancora, ho risolto molti problemi che mi dava ma adesso il problema è strano mi da questo errore:

Qualcosa è andato storto

Fatal error: Uncaught Error: Call to a member function close() on null in C:\xampp\htdocs\prove varie\roba.php:50 Stack trace: #0 {main} thrown in C:\xampp\htdocs\prove varie\roba.php on line 50

Mi sono scervellato per più di 1 ora ma adesso non so veramente cosa fare, non so ancora come ringraziarti, ti allego il php attuale:

PHP:
<?php

class MysqlClass
{

private $nomehost = "localhost";
private $nomeuser = "root";
    private $password = "1234";
    private $database="bob";
    public $conn=null;


   public function _construct  (){
      $this->conn=new mysql($this->nomehost,$this->nomeuser,$this->password,$this->database);
   }
   public static function getConn(){
          return (new self());
    }
    public function isActive(){
       if(null!==$this->conn)return true;
       return false;
    }
  }
///QUI FINISCE LA CLASSE!!!!!!
$connection=new MysqlClass(); $connection=$connection->conn;





$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$eta = $_POST['eta'];


$toinsert = "INSERT INTO `bob1` (`Nome`, `Cognome`, `Età`) VALUES ($nome, $cognome, $eta)";


$success = "Okok";
$fail = "Qualcosa è andato storto";

if ($toinsert === TRUE) {
             echo "<h3> $success </h3>";
     } else {
             echo "<h3> $fail </h3>";
     }



$connection->close();
?>

<3
 

Discussioni simili