Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z PDO::MYSQL
Forum PHP.pl > Forum > PHP
webJ@cob
Witam,
Używam serwera webserv pod win xp. Wszystko jest ok do momentu uzycia biblioteki PDO.
Po uruchomionu ponizszego kodu:

function zwieksz_ogladalnosc($nr_kier)
{
$pd = new PDO('mysql:host=localhost;dbname=XXX;port=XXX', 'XXX', 'XXX');
$pd -> query('SELECT * FROM kierunki WHERE id = '.$nr_kier.'');
$row = $pd -> fetch();
$ilosc = $row["ogladalnosc"]++;
echo "Ilosc ".$ilosc;
$pd -> exec("UPDATE kierunki SET ogladalnosc = '2' WHERE id = '1';");
$pd -> closeCursor();
}
?>

Serwer zwracam mi :
Fatal error: Call to undefined method PDO::fetch() in
G:\Programy\WebServ\httpd\www\kierunki.php on line 6

Fetch nie działa ? Kurcze to jak mam wyciagnac dane a potem je update'owac ?
NoiseMc
fetch () wykonujesz na obiekcie PDOStatement ktory dostajesz po wywolaniu PDO::query czyli:
  1. <?php
  2. $pd = new PDO('mysql:host=localhost;dbname=XXX;port=XXX', 'XXX', 'XXX');
  3. $result = $pd -> query('SELECT * FROM kierunki WHERE id = '.$nr_kier.'');
  4. $row = $result -> fetch();
  5. ?>


a najlepiej to:
  1. <?php
  2. $pd = new PDO('mysql:host=localhost;dbname=XXX;port=XXX', 'XXX', 'XXX');
  3. $statement = $pd -> prepare('SELECT * FROM kierunki WHERE id = ?');
  4. $statement->bindParam (1, $nr_kier);
  5. $statement->execute ();
  6. $row = $statement -> fetch();
  7. ?>
SongoQ
Albo jeszcze prosciej

$statement = $pd -> prepare("UPDATE kierunki SET ogladalnosc = ogladalnosc + 1 WHERE id = :id");

@webJ@cob I przestan dawac sredniki w zapytaniu. Kto Cie tak nauczyl ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.