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

question-closed PHP Fatal error: Uncaught Error: Call to a member function execute() on bool

VPS Starter Arubacloud
0 głosów
1,630 wizyt
pytanie zadane 4 grudnia 2019 w PHP przez Filipczak Gaduła (4,020 p.)
zamknięte 6 grudnia 2019 przez Filipczak

Cześć, otrzymuję błąd i nie wiem jak sobie z nim poradzić.

PHP Fatal error:  Uncaught Error: Call to a member function execute() on bool

Moje skrypty php.
db.php

<?php

require 'inc/settings.php';

try {
    $con = new PDO('mysql:host=' . $config['HOST'] . ';dbname=' . $config['DB'] . ';charset=utf8', $config['USER'], $config['PASS']);
} catch (PDOException $e) {
    die($e->getMessage());
}

settings.php
 

<?php 

$config = array(
    'HOST' => 'localhost', 
    'USER' => 'root',     
    'PASS' => '',      
    'DB'   => 'testowa'      
);

index.php
 

				<?php if(isset($_POST['upload'])):?>
<?php 
	$target = "images/";
	$target = $target . uniqid().$_FILES['photo']['name'];
	$name = $_POST['name'];

	if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)){
		
		echo "Poprawnie dodano zdjęcie";
		$db = $con->prepare('INSERT INTO photo (photo, name, date) VALUES (:photo, :name, :date)');
		$db->execute(array(
			':photo' => $target,
			':name' => $name,
			':date' => time()
		));			
	}
	else{
		echo "Nie udało się wrzucić twojego zdjęcia";
	}

?>
<?php endif;?>
					<form method="POST" enctype="multipart/form-data">
						<label>
							<p>Nazwa (nie jest obowiązkowa)</p>
							<input type="text" name="name" class="textinput"/><br>
							<p>Zdjęcie</p>
							<input type="file" name="photo" class="photoinput" id="photo"/><br>
							<input type="submit" name="upload" value="Dodaj zdjęcie" class="addbutton" />
						</label>
					</form>	
				</div>                   
			</div>
		</div>
	</div>
<?php else:?>
	<div class="container">
<?php 
$db = $con ("SELECT * FROM sutki ORDER BY id DESC");
while($row=mysql_fetch_array($sql)):
?>	
		<div class="mainview">
			<div class="mainbox">
				<div class="mainheader">	
					 <?php if($row == 0):?><p>Dodane</p> <h4>Anonimowo</h4><?php else: ?>Dodane przez <h4><?php echo($row['name']);?></h4><?php endif; ?>

				</div>
			<div class="mainphoto">
				<img src="<?php echo($row['photo']);?>"></img>
			</div>
		</div>	
<?php endwhile; ?>		
<?php endif;?>

 

komentarz zamknięcia: znalazzlem odpowiuedz

2 odpowiedzi

+1 głos
odpowiedź 5 grudnia 2019 przez Ehlert Ekspert (214,220 p.)
Próbujesz wykonać metodę na typie bool. To znaczy że Twoje db nie jest obiektem a wartością false. Poczytaj dokumentację.
0 głosów
odpowiedź 5 grudnia 2019 przez damenox Obywatel (1,400 p.)

Z tego co widzę to nigdzie w pliku index.php nie dołączasz pliku db.php (np. poprzez include_once "db.php"), więc zmienna $con wgl nie jest zadeklarowana ani tym bardziej zainicjowana oraz "nie jest" obiektem PDO na którym mógłbyś wywołać metodę prepare, dlatego masz ten błąd

Podobne pytania

–1 głos
3 odpowiedzi 7,685 wizyt
–1 głos
1 odpowiedź 1,058 wizyt
pytanie zadane 6 czerwca 2015 w PHP przez Eerie Mądrala (7,130 p.)
0 głosów
2 odpowiedzi 2,375 wizyt

93,025 zapytań

141,990 odpowiedzi

321,293 komentarzy

62,374 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...