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

question-closed PHP i mysqli zapytanie w zapytaniu - błąd obiektu

Object Storage Arubacloud
0 głosów
308 wizyt
pytanie zadane 9 listopada 2015 w PHP przez Pytający Początkujący (290 p.)
zamknięte 9 listopada 2015 przez Pytający

Witam,

Zacząłem prace z mysqli - wcześniej bazowałem na starszej wersji mysql.
Z obiektowością niestety na chwile obecną mam mało do czynienia i przez to pewnie nie mogę rozgryźć problemu, a temat mam niestety pilny.

Mianowice mam taki kod:

if ($sql =  $baza->prepare("SELECT id, nazwa FROM blog_kategoria"))
{					  
  $sql->execute();
  $sql->bind_result($id, $nazwa);
  while ($sql->fetch())
  {						  
   $sql2 =  $baza->prepare("SELECT count(id) as ilosc FROM blog_wpis WHERE id='".$id."'");							  
	$sql2->execute();
	$sql2->bind_result($ilosc);
	$sql2->fetch();
	$sql2->close();		
   echo '<li>'.$nazwa.'('.$ilosc.')</li>';				 
  }				  
 $sql->close();
 }	

Błąd: Fatal error: Call to a member function execute() on a non-object

Powinien mi wypisywać listę kategorii oraz ilość wpisów w danej kategorii.
Wiem że da się to zrobić w jednym zapytaniu SQL łącząc dwie tabele, ale to jest jeden przykład z wielu w których z mysql nie miałem problemu.
Głównie chodzi mi o to jak wykonać zapytanie w zapytaniu w mysqli?
Dodam że jeżeli utworze nowe połączenie do mysql $baza2 i zmienię w pętli na to drugie połączanie to zadziała.
Z góry dzięki za pomoc.

komentarz zamknięcia: Rozwiązane

1 odpowiedź

0 głosów
odpowiedź 9 listopada 2015 przez Boshi VIP (100,240 p.)
Imo ten kod sensu nie ma.  Na pewno drugie zapytanie ma nie być w pętli. Złącz to jak człowiek w jedną tabelę za pomocą inner/left czy co tam chcesz.

Nie wiadomo  o którego excetute mu chodzi ale domyślam się, że  masz coś nie tak ze składnią.
komentarz 9 listopada 2015 przez Pytający Początkujący (290 p.)
Wiem że jest to do zrobienia w jedym zapytaniu, głównie chodziło mi o to jak robić podobne operacje mianowicie gdy zapytanie jest w zapytaniu.
Przy zwkłym mysql nie ma z tym problemu, w tym przypadku gdy utworze drugie połączenie do bazy i w pętli będę operował na drugim połaczeniu to też zadziała.
komentarz 9 listopada 2015 przez Boshi VIP (100,240 p.)
no ale nie  wiadomo o którego excecute mu chodzi nawet.. nie podałeś. Czemu upierasz się przy czymś takim?
komentarz 9 listopada 2015 przez Pytający Początkujący (290 p.)
chodzi mu o ten drugi excecute (linia kodu na niego wskazuje), nie upieram się tylko gdy robiłem podobne operacje w zwykłym mysql wszystko działało a teraz nie chce zadziałać.

Niekiedy nie jestem wstanie dojść jak zrobić podobne operacje w jednym zapytaniu i lepiej byłoby mi robić coś takiego jak pisałem. A po za tym na pewno zdarzy sie jakiś przypadek w którym będę musiał wywyłać jakieś zapytanie w zapytaniu i znowu natrafie na taki błąd
komentarz 9 listopada 2015 przez efiku Szeryf (75,160 p.)
http://php.net/manual/en/mysqli.prepare.php

Generalnie to zapraszam do manuala.

Ja bym proponował przejść na PDO
komentarz 9 listopada 2015 przez Pytający Początkujący (290 p.)
Zrobiłem identyczną operacje tylko z użyciem PDO i śmiga :) Zamykam, dzięki.
komentarz 9 listopada 2015 przez efiku Szeryf (75,160 p.)
Przeczytaj sobie to w wolnej chwili :)

https://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO

Nie ma za co i powodzenia ;)

 

mysqli pff haha

Podobne pytania

0 głosów
1 odpowiedź 464 wizyt
pytanie zadane 15 lutego 2018 w PHP przez daniel2k Obywatel (1,380 p.)
0 głosów
2 odpowiedzi 114 wizyt
pytanie zadane 23 maja 2015 w SQL, bazy danych przez shadax Obywatel (1,850 p.)
0 głosów
3 odpowiedzi 328 wizyt
pytanie zadane 15 listopada 2015 w PHP przez Radekoslaw123 Gaduła (3,080 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...