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 ?
[php] + Mysql - funkcja wybierająca rekordy
-
Grzegorz Winiarski
- Nowy

- Posty: 147
- Rejestracja: pt lut 27, 2004 10:36 pm
- Lokalizacja: Kraków
Re: [php] + Mysql - funkcja wybierająca rekordy
Tak, zmienna nie jest widoczna
-
Michał Fikus
- Przelotem

- Posty: 242
- Rejestracja: sob cze 08, 2002 6:39 pm
- Lokalizacja: Wejherowo
Re: [php] + Mysql - funkcja wybierająca rekordy
Musialbyć zrobić ją globalną - inaczej będzie działała tylko w ciele funkcji.
Re: [php] + Mysql - funkcja wybierająca rekordy
poza tym - jaki sens ma podawanie pola skoro w funkcji pole i tak jest ustawiane na * (wszystkie) ?
Re: [php] + Mysql - funkcja wybierająca rekordy
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

- Posty: 242
- Rejestracja: sob cze 08, 2002 6:39 pm
- Lokalizacja: Wejherowo
Re: [php] + Mysql - funkcja wybierająca rekordy
A wywołałeś chociaż tą funkcję? Albo przypisz do jakiejś zmiennej wynik wywołania funkcji.
Re: [php] + Mysql - funkcja wybierająca rekordy
Rzeczywiście , powinienem podstawić np:
[php]<?php
$costam = baza_select("test","*");
?> [/php]
i w tej zmiennej będą wyniki wyszukiwania
[php]<?php
$costam = baza_select("test","*");
?> [/php]
i w tej zmiennej będą wyniki wyszukiwania
