[php] + Mysql - funkcja wybierająca rekordy

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
cwiru
Nowy
Nowy
Posty: 41
Rejestracja: pt lut 27, 2004 1:47 pm
Lokalizacja: ze Śródziemia

[php] + Mysql - funkcja wybierająca rekordy

Post autor: cwiru »

Witam , mam taki oto problem. Mam funkcję (zmodyfikowaną w stosunku do jednego z przykładów w artykule o Mysql) wybierającą odpowiednie rekordy z bazy danych.
Kod:

[php]<?php
function baza_select($tabela,$pole)
{
$pole = "*" ;
$query = "select $pole from $tabela";
$wyn = mysql_query($query);
return $wyn;
}
?>[/php]
Jej przykładowe wywołanie :

baza_select("test","*");

a teraz wyświetlanie wyników :
[php]
if (mysql_num_rows($wyn)>0)
{
print("<table border=1>");
while ($tab = mysql_fetch_array($wyn))
{
print("<tr height=25><td >");
print($tab['id']."</td><td>");
print($tab['autor']."</td></tr>");
}
print("</table>");
}
[/php]
Po wywołaniu mam komunikat :

Warning: mysql_num_rows(): supplied argument is not a valid MYSQL result resource
Gdzie jest błąd, czy zmienna $wyn nie jest widziana po wywołaniu funkcji ?
Grzegorz Winiarski
Nowy
Nowy
Posty: 147
Rejestracja: pt lut 27, 2004 10:36 pm
Lokalizacja: Kraków

Re: [php] + Mysql - funkcja wybierająca rekordy

Post autor: Grzegorz Winiarski »

Tak, zmienna nie jest widoczna
Michał Fikus
Przelotem
Przelotem
Posty: 242
Rejestracja: sob cze 08, 2002 6:39 pm
Lokalizacja: Wejherowo

Re: [php] + Mysql - funkcja wybierająca rekordy

Post autor: Michał Fikus »

Musialbyć zrobić ją globalną - inaczej będzie działała tylko w ciele funkcji.
Dreen
Zaczyna działać
Zaczyna działać
Posty: 633
Rejestracja: pn paź 20, 2003 6:32 pm
Lokalizacja: Żywiec

Re: [php] + Mysql - funkcja wybierająca rekordy

Post autor: Dreen »

poza tym - jaki sens ma podawanie pola skoro w funkcji pole i tak jest ustawiane na * (wszystkie) ?
cwiru
Nowy
Nowy
Posty: 41
Rejestracja: pt lut 27, 2004 1:47 pm
Lokalizacja: ze Śródziemia

Re: [php] + Mysql - funkcja wybierająca rekordy

Post autor: cwiru »

To że zmienna powinna być globalna mnie bardzo dziwi. Bowiem np. funkcja posiadająca 2 argumenty (liczby) i zwracająca ich sumę działa bez żadnych zmiennych globalnych. Po prostu return suma i już.
Michał Fikus
Przelotem
Przelotem
Posty: 242
Rejestracja: sob cze 08, 2002 6:39 pm
Lokalizacja: Wejherowo

Re: [php] + Mysql - funkcja wybierająca rekordy

Post autor: Michał Fikus »

A wywołałeś chociaż tą funkcję? Albo przypisz do jakiejś zmiennej wynik wywołania funkcji.
cwiru
Nowy
Nowy
Posty: 41
Rejestracja: pt lut 27, 2004 1:47 pm
Lokalizacja: ze Śródziemia

Re: [php] + Mysql - funkcja wybierająca rekordy

Post autor: cwiru »

Rzeczywiście , powinienem podstawić np:
[php]<?php
$costam = baza_select("test","*");
?> [/php]
i w tej zmiennej będą wyniki wyszukiwania
ODPOWIEDZ