Ankündigung

Einklappen
Keine Ankündigung bisher.

PDO Script kein execute

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PDO Script kein execute

    Hallo,

    ich habe folgendes Script um mich mit der DB zu connecten:
    PHP-Code:
    <?php
    $dsn 
    'mysql:dbname=eboards;host=127.0.0.1';
    $user 'root';
    $password '';

    try {
        
    $db = new PDO($dsn$user$password);
    } catch (
    PDOException $e) {
        echo 
    'Connection failed: ' $e->getMessage();
    }

    ?>
    Im index binde ich es wie folgt ein:
    PHP-Code:
    require_once('db/config.inc.php');
    require_once(
    'class/class.main.php');

    $config_eboards_id "1";

    $text = new MainConfig($db);
    $test $text->get_site_config($config_eboards_id);
    echo 
    '<pre>';
    var_dump($test); 
    Achja, das Klassenscript sieht wie folgt aus:

    PHP-Code:
    <?php
    error_reporting
    (E_ALL);

    class 
    MainConfig {

        public function 
    __construct($db) {
            
    $this->db=$db;
        }
        
        public function 
    get_site_config ($config_id) {
            
    $sth $this->db->prepare('SELECT contact_email FROM eboards_settings WHERE id = :config_id');
            
    $sth->bindParam(':config_id'$config_idPDO::PARAM_INT);
            
    $sth->execute();
            
            return 
    $sth;            
        }
    }
    ?>
    Meine Ausgabe sieht wie folgt aus:
    Code:
    object(PDOStatement)#3 (1) {
      ["queryString"]=>
      string(64) "SELECT contact_email FROM eboards_settings WHERE id = :config_id"
    }
    Also es wird erfolgreich zur DB connectet und normale Scripte mit mysql_query gehen auch.
    Nur mit PDO klappt es nicht.
    Weiß aber nicht woran es hackert.
    Bitte um eure Hilfe

  • #2
    PHP: PDOStatement - Manual

    Das gibt diene Funktion zurück... somit ist das Verhalten also absolut korrekt.
    "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

    Kommentar


    • #3
      Will aber den Eintrag aus der DB sehen und nicht dieses Statment

      Kommentar


      • #4
        Zitat von Kein Genie Beitrag anzeigen
        Will aber den Eintrag aus der DB sehen und nicht dieses Statment
        Das denk ich mir. Deswegen der Link zum Handbuch. Da steht alles drin was du wissen musst und scheinbar nicht weisst.
        "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

        Kommentar


        • #5
          Habe es jetzt angepasst:

          PHP-Code:
              public function get_site_config ($config_id) {
                  
          $sth $this->db->prepare('SELECT contact_email FROM eboards_settings WHERE id = :config_id');
                  
          $sth->bindParam(':config_id'$config_idPDO::PARAM_INT);
                  
          $sth->fetch(PDO::FETCH_OBJ);
                  
          $sth->execute();
                  
                  return 
          $sth;            
              } 
          Trotzdem hat sich nichts geändert

          Kommentar


          • #6
            Zitat von Kein Genie Beitrag anzeigen
            Habe es jetzt angepasst:

            PHP-Code:
                public function get_site_config ($config_id) {
                    
            $sth $this->db->prepare('SELECT contact_email FROM eboards_settings WHERE id = :config_id');
                    
            $sth->bindParam(':config_id'$config_idPDO::PARAM_INT);
                    
            $sth->fetch(PDO::FETCH_OBJ);
                    
            $sth->execute();
                    
                    return 
            $sth;            
                } 
            Trotzdem hat sich nichts geändert
            Liest du auch die Beispiele?

            1. fetch() wird NACH execute() aufgerufen, wie soll das Ding was fetchen wenn kein Befehl ausgeführt wurde? PHP: PDOStatement->fetch - Manual

            2. Du gibst nach wie vor das PDOStatement zurück und nicht die Rückgabe von fetch().
            "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

            Kommentar

            Lädt...
            X