• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Zapytanie z biblioteką PDO

0 głosów
202 wizyt
pytanie zadane 4 grudnia 2019 w PHP przez chmieluziomal Początkujący (450 p.)
zamknięte 4 grudnia 2019 przez chmieluziomal
<?php

class DatabaseConnect{

	private $mysql_host = 'localhost';
	private $username = 'root';
	private $password = '';
	private $database = 'hardware.pl'; 

	private $pdo;

	public function __construct(){
		 try {
			 $this->pdo = new PDO('mysql:host='.$this->mysql_host.';dbname='.$this->database.';charset=utf8', $this->username, $this->password, [
				PDO::ATTR_EMULATE_PREPARES => false, 
				PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
			]);

		 }
		 catch(PDOException $e) {
			 echo $e->getMessage();
		 }
	}

	 
	public function getPDO(){
		return $this->pdo;
 	}
}

?>
<?php
    $PDO = new DatabaseConnect;

    $query = $PDO->getPDO();

    $id1 = 1;
    $id2 = 2;
    $id3 = 3;
    $id4 = 4;
    $id5 = 5;

    try{
        $query->prepare('SELECT Name, Price, Discount, Quantity FROM products WHERE ID = :id1 OR ID = :id2 OR ID = :id3 OR ID = :id4 OR ID = :id5');
        $query->bindValue(':id1', $id1, PDO::PARAM_INT);
        $query->bindValue(':id2', $id2, PDO::PARAM_INT);
        $query->bindValue(':id3', $id3, PDO::PARAM_INT);
        $query->bindValue(':id4', $id4, PDO::PARAM_INT);
        $query->bindValue(':id5', $id5, PDO::PARAM_INT);
        $query->execute();
    }

    catch(PDOException $e){
        echo $e->getMessage();
        exit();
    }
?>

Zwracany jest następujący błąd: Fatal error: Uncaught Error: Call to undefined method PDO::bindValue() in C:\Users\jakub\Documents\GitHub\Hardware-shop\Shop\Templates\home.php:14 Stack trace: #0 C:\Users\jakub\Documents\GitHub\Hardware-shop\Shop\config.php(9): require_once() #1 C:\Users\jakub\Documents\GitHub\Hardware-shop\Shop\Templates\core.php(239): loadFile('Templates/home....') #2 C:\Users\jakub\Documents\GitHub\Hardware-shop\Shop\config.php(9): require_once('C:\\Users\\jakub\\...') #3 C:\Users\jakub\Documents\GitHub\Hardware-shop\Shop\index.php(22): loadFile('Templates/core....') #4 {main} thrown in C:\Users\jakub\Documents\GitHub\Hardware-shop\Shop\Templates\home.php on line 14

 

Czy może ktoś mi powiedzieć gdzie popełniłem błąd? Siedzę nad tym kodem już trochę i nie mogę znaleźć rozwiązania problemu

komentarz zamknięcia: Problem rozwiązany

1 odpowiedź

+1 głos
odpowiedź 4 grudnia 2019 przez Arkadiusz Waluk Ekspert (290,250 p.)
wybrane 4 grudnia 2019 przez chmieluziomal
 
Najlepsza

Metodę bindValue() należy wykonać na obiekcie PDOStatement, czyli tym który zwróci metoda prepare(), a nie na obiekcie PDO.

https://www.php.net/manual/en/pdostatement.bindvalue.php

Podobne pytania

0 głosów
1 odpowiedź 356 wizyt
pytanie zadane 7 stycznia 2018 w PHP przez jak Nowicjusz (150 p.)
0 głosów
1 odpowiedź 246 wizyt
pytanie zadane 14 maja 2019 w PHP przez mi-20 Stary wyjadacz (13,250 p.)
0 głosów
0 odpowiedzi 319 wizyt
pytanie zadane 3 czerwca 2018 w PHP przez karol928 Początkujący (320 p.)

93,425 zapytań

142,421 odpowiedzi

322,646 komentarzy

62,786 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...