Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]anomalie odczytu
Forum PHP.pl > Forum > Przedszkole
tog
witam

kod php
  1. $site = $_GET['site'];
  2. if ($site) { } else {$site = 0;}
  3.  
  4.  
  5. $zapytanie = "SELECT `value`, 'author' FROM `coments` WHERE `art`=$site";
  6. $idzapytania = mysql_query($zapytanie);
  7.  
  8.  
  9. while ($wiersz = mysql_fetch_row($idzapytania)) {
  10. value: ' .$wiersz[0]. '<br>
  11. author: ' .$wiersz[1]. '<br>
  12. ';
  13. }


mysql

id int(11)
value text
author int(11)
art int(11)
date date

php zwraca
"Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /virtual/a/v/ave666.ugu.pl/gim/art.php on line 33"
i nie jestem do konca pewien co chce mi powiedziec...

wczesniej udalo mi sie nawet jakos zmusic skrypt do wyciagniecia danych z bazy
ale pobieralo tylko 1 pozycje z select(value), kolejne w tablicach figurowaly jako nazwa 'value'(w kilku miejscach mam identyczna nazwe, wiec nei wiem od czego to)

tzn

value = fasfdsfsfdfs
value = fbfy65btrb
value = bvfgbyebtryet

author = zenek
author = kasia
author = sexizakonnica

skrypt wyswietlal to tak

fasfdsfsfdfs
author
fbfy65btrb
author
bvfgbyebtryet
author
thek
$zapytanie = "SELECT `value`, 'author' FROM `coments` WHERE `art`=$site";
Popatrz na to jakimi "kreseczkami" ująłeś nazwy kolumn...
`value` <- to jest prawidłowo, bez ` też by było dobrze
'author' <- a tutaj jest źle bo ' nie używa sie do kolumn tylko wartości znakowych i prędzej powinieneś tego użyć tu -> `art`= '$site' jeśli $site to nie liczba tylko jakiś napis.
r4xz
1. if (!$site) {$site = 0;} - taka mała rada, żeby ładniej wyglądało

2.mysql_error

tog
o, no to sie zdziwilem troche... bo troche takich operacji ostatnio pisalem i nie zauwazylem tego
a $site to liczba winksmiley.jpg

dzieki za pomoc

ok, zastosuje
choc stwierdzilem, ze skoro da sie tak jak zrobilem i jakos specjalnie nie nadrabiam kodem, to nie bede szukal jak to dac inaczej tongue.gif
maly_swd
troszke bezpieczniej bedzie tak:
zamiast:
$site = $_GET['site'];
if ($site) { } else {$site = 0;}

zmienic na:
$site =(int) $_GET['site'];
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.