liebewinter: Deine Datenbank-Tabelle ist wahrscheinlich (noch) falsch.

Beitrag lesen

Frühe habe eine Fehler gemacht... ich habe geprüft mit dem Ursus Code...

als ich nicht mehr finde der Code der wir zusammen gemacht habe, habe sammel Teils von dem Frühe Post ... habe immer bekomme Fehler , weil wird Methode die auf dieser Code gibt nicht…

Der Code,

<?php


class ClassProveContakt3 
{
      private $dbHost = 'localhost'; # Host der Datenbank
	  private $dbName = 'meine';      # Name der Datenbank
	  private $dbUser = 'root';      # Name phpmyadmin
	  private $dbPass = 'pass';      # Passwort

      
      private $Name;
      private $Email;
      private $Message;
      private $PostOK;
      private $DateTime;
      private $items;
      private $ip; 

 
    function __construct() 
    {

         $this -> ip = $_SERVER['REMOTE_ADDR'];
         $this -> DateTime = date('m/d/Y h:i:s a');  
         $this -> items = ['Name', 'Email', 'Message']; 
         
         
         $flag = true;
          foreach ( $this -> items as $key ) {  
			           if ( empty ( $_POST[$key] ) )  {
			             $flag = false;    
			           } else {    
			             $this -> $key = trim( filter_var( $_POST[$key], FILTER_SANITIZE_STRING ) ); 
			            }    
		   }	     
         $this -> PostOk = $flag; 
         
    }

 
    

  
    function ShowForm() 
    {
?>
      <form  method="POST">
        <label for="name"><b>Name * </b></label>
        <input type="text" id="name" name="Name" value="">
        <label for="email"><b>E-mail * </b></label>
        <input type="email" id="email" name="Email" value="">
        <br><br>
        <label><b> Message * </b><br>
           <textarea cols="45" rows="6" id="text" name="Message"></textarea>      
        </label>
        <br><br>
        <input  type="submit" name="post" value="POST COMMENT" id="comment">
      </form>
<?php
    }
    function PostOkT() 
    {
        if (isset($_POST['post']))
        {
            $this -> PostNewComment();
        }     
        else if (isset($_POST['delete']))
        {
            $this -> DeleteComment($_POST['delete']);
        }
    }

    function PostNewComment()
    {
        if (! $this -> PostOK)
        {
            echo "<br><b><h3>*** Please enter all required fields ***</h3></b>";  
        } 
        $this->writeCommentToDatabase(); 
        $this->displayMessages();        
    }

    function displayMessages()
    {
        $messages = $this->getMessages();
?>
   <form method="POST">        
<?php
        foreach ($messages as $message):
?>
     <article>
       <h2>Message from <?= htmlspecialchars($message['name']) ?> (<?= htmlspecialchars($message['email'])?>)</h2>
       <p>Created <?= $message['datetime'] ?></p>
       <p><?= $message['message'] ?></p>
       <button action="submit" name="delete" value="<?= $message['id'] ?>">Delete</button>
     </article>
<?php
        endforeach;                 
?>
   </form>
<?php
    }

    function DeleteComment($id)
    {
        echo "<br>Lösche jetzt Kommentar $id<br>";
        $this->displayMessages();
    }
     function writeCommentToDatabase()
     {
      // Establish connection with MYSQL Server
      try
      {
         $db = new PDO("mysql:host=localhost;dbname=meine", "root", "pass");
      }
      catch (PDOException $pe)
      {
         echo "<br>Cannot connect to database: " . $pe->getMessage();
         return false;
      }

      //Prepare Query of SQL
      $statement = $db->prepare("INSERT INTO mela(name, email, message, datetime, ip) VALUES (:name, :email, :message, :date, :ip)");
      if (!$statement)
      {
         echo "<br><br>prepare failed: SQLSTATE=" . $db->errorCode() . ", Error Info=" . print_r($db->errorInfo(), true) . "</p>";
         $ok = FALSE;
      }
      else
      {
         $ok = $statement->bindValue(':name', $this->Name, PDO::PARAM_STR)
            && $statement->bindValue(':email', $this->Email, PDO::PARAM_STR)
            && $statement->bindValue(':message', $this->Message, PDO::PARAM_STR)
            && $statement->bindValue(':date', date("Y-m-d H:i:s"), PDO::PARAM_STR)
            && $statement->bindValue(':ip', $this->ip, PDO::PARAM_STR);
         if (!$ok)
         {
            echo "<br><br>bindValue failed: SQLSTATE=" . $db->errorCode() . ", Error Info=" . print_r($db->errorInfo(), true) . "</p>";
         }
      }
      if ($ok)
      {
         $ok = $statement->execute();
         if (!$ok)
         {
            echo "<br><br>execute failed: SQLSTATE=" . $db->errorCode() . ", Error Info=" . print_r($db->errorInfo(), true) . "</p>";
         }


      }
      echo "<br/><br/><span>Data Inserted successfully...!!</span>";
       $this->db = null;
       return $ok;


    }    
    function getMessages()
    {
         $db = getConnection();
         if (!$db) return false;
         {
            $sql = "SELECT name, email, message, datetime FROM mela ORDER BY datetime DESC";
            $statement = $db->query($sql);
            if (!$statement)
            {
              $this->reportPDOError("Cannot create query", $sql, $db);
               return false;
            }
           $result = $statement->fetchAll(PDO::FETCH_ASSOC);

          if ($result === FALSE)
             $this->reportPDOError("fetchAll(ASSOC) failed", $sql, $statement);

          return $result;
       }
     }

      private function getConnection()
      {
          // Establish connection with MYSQL Server
          try
          {
             return new PDO("mysql:host=localhost;dbname=meine", "root", "pass");
          }
          catch (PDOException $pe)
          {
             echo "<br>Cannot connect to database: " . $pe->getMessage();
             return false;
          }
      }

      private function reportPDOError($message, $sql, $pdo)
      {
         $info = $pdo->errorInfo();

         echo "<div style='color:red'><b>Error in SQL Access: $message</b>";
         echo "<br>SQL-Statement: $sql";
         echo "<br>PDO SQLSTATE: $info[0]";
         echo "<br>MySQL error code: $info[1]";
         echo "<br>MySQL error message: $info[2]</div>";
      }
     
}
            
$Newobject = new ClassProveContakt3();
$Newobject -> ShowForm();
$Newobject ->  PostOkT();
$Newobject -> writeCommentToDatabase(); 
$Newobject -> getMessages();

    

?>

mit diesem Code bekomme dieser Warnung,

Fatal error: Uncaught Error: Call to undefined function getConnection() in /var/www/html/classprove.php:160 Stack trace: #0 /var/www/html/classprove.php(86): ClassProveContakt3->getMessages() #1 /var/www/html/classprove.php(81): ClassProveContakt3->displayMessages() #2 /var/www/html/classprove.php(66): ClassProveContakt3->PostNewComment() #3 /var/www/html/classprove.php(208): ClassProveContakt3->PostOkT() #4 /var/www/html/contact.php(85): require('/var/www/html/c...') #5 {main} thrown in /var/www/html/classprove.php on line 160

0 94

phpmyadmin nicht start

liebewinter
  • datenbank
  1. 0
    Rolf B
    1. 0
      liebewinter
  2. 1
    ursus contionabundo
    1. 0
      liebewinter
      1. 0
        ursus contionabundo
      2. 0
        ursus contionabundo
        1. 0
          liebewinter
          1. 0
            ursus contionabundo
            1. 0
              liebewinter
              1. 0
                ursus contionabundo
                1. 0
                  liebewinter
                  1. 0
                    ursus contionabundo
                    1. 0
                      liebewinter
                      1. 0
                        ursus contionabundo
                        1. 0
                          liebewinter
                          1. 0
                            ursus contionabundo
                            1. 0
                              liebewinter
                              1. 1
                                ursus contionabundo
                                1. 0
                                  liebewinter
                                  1. 0
                                    ursus contionabundo
                                    1. 0
                                      liebewinter
                                      1. 0
                                        ursus contionabundo
                                  2. 0
                                    ursus contionabundo
                                    1. 0
                                      liebewinter
                                      1. 0
                                        ursus contionabundo
                                        1. 0
                                          liebewinter
                                          1. 0
                                            ursus contionabundo
                                            1. 0
                                              liebewinter
                                              1. 0
                                                liebewinter
                                                1. 0
                                                  ursus contionabundo
                                                  1. 0
                                                    liebewinter
                                                    1. 0
                                                      ursus contionabundo
                                                      1. 0
                                                        liebewinter
                                                        1. 0
                                                          ursus contionabundo
                                                          1. 0
                                                            liebewinter
                                                          2. 1

                                                            Es lag definitiv am PHP...

                                                            ursus contionabundo
                                                            1. 0

                                                              Was an der Kommentarfunktion konzeptionell schlecht ist

                                                              ursus contionabundo
                                                              1. 0
                                                                liebewinter
                                                                1. 0
                                                                  liebewinter
                                                                  1. 0
                                                                    liebewinter
                                                                    1. 0
                                                                      Tabellenkalk
                                                                    2. 0

                                                                      Altes Zeug löschen

                                                                      ursus contionabundo
                                                                      1. 0
                                                                        liebewinter
                                                                        1. 0
                                                                          liebewinter
                                                            2. 0
                                                              liebewinter
                                                              1. 0
                                                                liebewinter
                                                                1. 0

                                                                  Deine Datenbank-Tabelle ist wahrscheinlich (noch) falsch.

                                                                  ursus contionabundo
                                                                  1. 0
                                                                    liebewinter
                                                                    1. 0
                                                                      ursus contionabundo
                                                                      1. 0
                                                                        liebewinter
                                                                        1. 0
                                                                          ursus contionabundo
                                                                  2. 0
                                                                    liebewinter
                                                                    1. 0
                                                                      Rolf B
                                                                      1. 0
                                                                        liebewinter
                                                                        1. 0

                                                                          Auf dem Weg zum DELETE

                                                                          Rolf B
                                                                        2. 0

                                                                          Nein! Du machts jetzt einen Plan.

                                                                          ursus contionabundo
                                                                          1. 0
                                                                            liebewinter
                                                                      2. 0
                                                                        liebewinter
                                                                        1. 0
                                                                          Rolf B
                                                                          1. 0
                                                                            liebewinter
                                                                            1. 0
                                                                              Rolf B
                                                                              1. 0
                                                                                liebewinter
                                                                                1. 0
                                                                                  liebewinter
                                                                                  1. 0
                                                                                    Rolf B
                                                                                    1. 0
                                                                                      liebewinter
                                                                                    2. 0
                                                                                      liebewinter
                                                                                    3. 0
                                                                                      liebewinter
                                                                                      1. 0
                                                                                        Rolf B
                                                                                        1. 0
                                                                                          Matthias Apsel
                                                                                          • menschelei
                                                                                          1. 0
                                                                                            Rolf B
                                                                                        2. 0
                                                                                          liebewinter
                                                                                      2. 0

                                                                                        Tabelle wird nicht gezeigt

                                                                                        liebewinter
                                                                2. 0
                                                                  Rolf B
                                                                  1. 0

                                                                    Kleine Verfeinerung der reportPDOError - Methode

                                                                    ursus contionabundo
                                                                    • datenbank
                                                                    • php
                                                                    1. 0
                                                                      liebewinter
                                                                      1. 0
                                                                        ursus contionabundo
                                                                        1. 0
                                                                          MudGuard
                                                                        2. 0
                                                                          liebewinter
                                                                          1. 0
                                                                            ursus contionabundo
                                                                            1. 0
                                                                              liebewinter
                                                                              1. 0
                                                                                ursus contionabundo
                                                                                1. 0
                                                                                  liebewinter
                                                                                  1. 0
                                                                                    ursus contionabundo
                                                                                    1. 0
                                                                                      liebewinter
                                                                                      1. 0
                                                                                        ursus contionabundo
                                                                                        1. 0
                                                                                          liebewinter
                                                                                          1. 0
                                                                                            liebewinter
                                                      2. 0
                                                        liebewinter
                                                2. 0
                                                  liebewinter
                                                  1. 0
                                                    liebewinter
                                                    1. 0
                                                      ursus contionabundo
                        2. 0
                          ursus contionabundo
                          1. 0
                            liebewinter