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

do zapytań z PDO

Object Storage Arubacloud
+2 głosów
288 wizyt
pytanie zadane 26 czerwca 2015 w PHP przez makoso Mądrala (7,380 p.)
edycja 26 czerwca 2015 przez makoso

Witam próbuję stworzyć sobie klasę do pytania w którym zmieniają się dwie wartości tak aby zmniejszyć dalszy kod moja wiedzą OOP jest praktycznie 0 bo wczesniej nie chciałem tego stosować i cały czas piszę strukturalnie :)

stworzyłem sobie coś takiego napewno źle bo nie działa pytanie czy możecie mi jakoś pomóc?
sądzę że problem jak i cel jest zrozumiały

ROZWIĄZANIE by EFIK

plik pytania.php

<?php
/**
 * Created by PhpStorm.
 * User: efik
 * Date: 26.06.15
 * Time: 16:16
 */

class pytania {

    /**
     * @var PDO
     */
    private $pdo;

    /**
     * @param PDO $pdo
     */
    function __construct(\PDO $pdo)
    {
        $this->pdo = $pdo;
    }

    /**
     * @param $budynek
     * @param $budyntekLVL
     *
     * @return mixed
     */
    public function zbadaj($budynek, $budyntekLVL)
    {
         $sql = "SELECT * FROM budynki_budowa WHERE budynek = ? AND lvl = ? " ;
         $prepared = $this->pdo->prepare($sql);
         $prepared->bindParam(1,$budynek,\PDO::PARAM_STR);
         $prepared->bindParam(2,$budyntekLVL,\PDO::PARAM_INT);
         $prepared->execute();
         $data = $prepared->fetch(\PDO::FETCH_ASSOC);
         return $data;
    }
}

plik index.php

<?php
/**
 * Created by PhpStorm.
 * User: efik
 * Date: 26.06.15
 * Time: 16:16
 */
  include("pytania.php");


$host     ="host";
$user     ="user";
$db        ="db";
$pass     ="pass";
try
{
    $polacz  = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass);
}
catch (PDOException $e)
{
    Echo 'wystąił błąd: '. $e->getMessage();
    exit();
}
$pytania = new Pytania($polacz);

print_r($pytania->zbadaj("dd",11));

 

1 odpowiedź

+1 głos
odpowiedź 26 czerwca 2015 przez efiku Szeryf (75,160 p.)
wybrane 26 czerwca 2015 przez makoso
 
Najlepsza

Ja bym zrobił to tak: 

Nie potrzebnie robisz 2x połączenie z bazą, lepiej jest przesłać do konstruktora aby wymagał obiektu PDO. 
Pamiętaj że metody muszą zwracać coś ( return ) 
Dodatkowo weź pod uwagę, enkapsulację, to nie jest dobry pomysł public dawać każdej zmiennej, no chyba, że masz konkretny powód.

moj plik index.php -> http://pastebin.com/uSpJawjS
plik z klasą pytania -> http://pastebin.com/LtxbaxWZ

komentarz 26 czerwca 2015 przez makoso Mądrala (7,380 p.)
wolę obiekty chociaż ich jeszcze zbytnio nie umiem tyle co PDO sie nauczyłem miejmy nadzieję że rozpoczałeś we mnie erę OOP ;)

juz skróciłem sporo kod planuję więcej :)
komentarz 26 czerwca 2015 przez efiku Szeryf (75,160 p.)
Sam plus, że PDO !!!! :)
Jak coś, to masz forum, pytaj, OOP zawsze mile widziane :)
komentarz 26 czerwca 2015 przez makoso Mądrala (7,380 p.)
Spoko ogółem dzieki bo sporo rozy mi już pomogłeś jeszcze 2msc temu pytałem o różne rzeczy związane ze zwykły mysql :D dostawałem opierdziele że obiekty PDO podstawa :D teraz powoli to będę gryzł :)
komentarz 26 czerwca 2015 przez efiku Szeryf (75,160 p.)
Łap, może się przydać: http://pl.phptherightway.com/
komentarz 26 czerwca 2015 przez makoso Mądrala (7,380 p.)
wysyłałeś Ty albo ktoś inny mi to już kiedys wtedy potrzebowałem z tego czegoś o blindparm ale i tak się nie z tego uczyłem :)

zaraz będę kombinował zbudować sobie inną klasę wykorzystując extends od pytanie jak mi się uda to ogarnę całe moje skrypty w kilku linijkach :D
yupiiiii podoba mi się to :D

Podobne pytania

0 głosów
1 odpowiedź 341 wizyt
pytanie zadane 15 czerwca 2015 w PHP przez mopatowicz Użytkownik (560 p.)
0 głosów
3 odpowiedzi 739 wizyt
+3 głosów
4 odpowiedzi 4,282 wizyt
pytanie zadane 10 kwietnia 2015 w PHP przez Hatter Gaduła (3,180 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 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!

...