Strona 1 z 1

[php] + Mysql - funkcja wybierająca rekordy

: pt kwie 16, 2004 11:35 am
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 ?

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

: pt kwie 16, 2004 1:11 pm
autor: Grzegorz Winiarski
Tak, zmienna nie jest widoczna

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

: pt kwie 16, 2004 2:57 pm
autor: Michał Fikus
Musialbyć zrobić ją globalną - inaczej będzie działała tylko w ciele funkcji.

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

: pt kwie 16, 2004 6:32 pm
autor: Dreen
poza tym - jaki sens ma podawanie pola skoro w funkcji pole i tak jest ustawiane na * (wszystkie) ?

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

: ndz kwie 18, 2004 11:25 am
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ż.

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

: ndz kwie 18, 2004 11:39 am
autor: Michał Fikus
A wywołałeś chociaż tą funkcję? Albo przypisz do jakiejś zmiennej wynik wywołania funkcji.

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

: pn kwie 19, 2004 12:58 pm
autor: cwiru
Rzeczywiście , powinienem podstawić np:
[php]<?php
$costam = baza_select("test","*");
?> [/php]
i w tej zmiennej będą wyniki wyszukiwania