Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET. Zároveň využij také nabídku 50% zdarma na e-learningové kurzy.
C# week
Avatar
Dominik Gavrecký:25.4.2015 22:30

Zdravím komunitu,

Chcel by som sa vás opýtať. Poslednou dobov ma mysqli začalo celkom obmedzovať tak som sa rozhodol prejsť na PDO. Je to zo začiatku ako španielská dedina a preto sa na vás obraciam s mojim problém.

<?php

$host = "localhost";
$user = "root";
$password = "";

$connect = new PDO('mysql:host=localhost;dbname=codepaste', $user, $password);
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $connect->prepare("SELECT * FROM codepaste");
$row = $query->fetchAll();

print_r($row);

?>

Problém je že mi vráti prázdny Array. Prípadne mi pozrite connect rád sa priučím.

Ďakujem

Editováno 25.4.2015 22:32
Odpovědět
25.4.2015 22:30
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Odpovídá na Dominik Gavrecký
Martin Konečný (pavelco1998):25.4.2015 22:35

Ahoj,

tvůj problém je ten, že metoda prepare() pouze dotaz "připraví", ale neprovede.

Řešení jsou dvě:

  1. místo prepare() použít query()
  2. po řádku $connect->prepare() udělej ještě:
$query->execute();
$row = $query->fetchAll();
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
25.4.2015 22:35
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Dominik Gavrecký:25.4.2015 22:37

Ďakujem :) A ktoré z tých dvoch možností je lepšie používať ? Prípadne + -

Nahoru Odpovědět
25.4.2015 22:37
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Odpovídá na Dominik Gavrecký
Martin Konečný (pavelco1998):25.4.2015 23:08

query() je lepší použít v případě, kdy nedosazuješ do dotazu nějaké hodnoty poslané uživatelem, což je tvůj případ.
Kdybys chtěl vyhledat záznamy dle podmínky, je lepší použít prepare() a execute() (tzv. prepared statements), protože to automaticky ošetří proti SQL injection, viz http://www.itnetwork.cz/…ion-a-obrana.

Nahoru Odpovědět
25.4.2015 23:08
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.