подскажите, пожалуйста, решение проблемы.
есть код типа:
<?
...
$res = mysql_query("select * from posts where post_title=", $link);
$num = mysql_num_rows($res);
...
?>
код отрабатывает правильно, но если его перенести в функцию, при выполнении появляется ошибка:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /sata1/home...
решение проблемы найти не смог, единственное, что нашел - переменная $res должна быть глобальной, но обьявление переменной до функции не помогло.
заранее благодарен за ответы.
Спустя 17 минут, 21 секунда (13.03.2010 - 15:32) DeeKeiD написал(а):
Используй $res в самой функции т.е
function my_function()
{
$res = mysql_query("select * from posts where post_title=", $link);
$num = mysql_num_rows($res);
}
Спустя 15 минут, 42 секунды (13.03.2010 - 15:48) Гость_Андрей написал(а):
Моя функция выглядит так:
function temp(){
require 'adm/connect.php';
$res = mysql_query("select * from posts where post_title="kolbasa", $link);
$num = mysql_num_rows($res);
}
она не работает . переменная $res раньше нигде не объявлялась
если вызвать mysql_query до функции и передать в нее параметр, скрипт выполняется корректно:
$res = mysql_query("select * from posts where post_title="kolbasa", $link);
temp($res);
function temp($rot){
require 'adm/connect.php';
$num = mysql_num_rows($rot);
}
не пойму, что приводит к такому поведению. описание mysql_num_rows не ставит никаких ограничение на использование..
function temp(){
require 'adm/connect.php';
$res = mysql_query("select * from posts where post_title="kolbasa", $link);
$num = mysql_num_rows($res);
}
она не работает . переменная $res раньше нигде не объявлялась
если вызвать mysql_query до функции и передать в нее параметр, скрипт выполняется корректно:
$res = mysql_query("select * from posts where post_title="kolbasa", $link);
temp($res);
function temp($rot){
require 'adm/connect.php';
$num = mysql_num_rows($rot);
}
не пойму, что приводит к такому поведению. описание mysql_num_rows не ставит никаких ограничение на использование..
Спустя 26 минут, 52 секунды (13.03.2010 - 16:14) DeeKeiD написал(а):
странно,у меня функция
работает нормально
function my_func()
{
$res = mysql_query("SELECT * FROM `users` WHERE `id` = '1'");
$row = mysql_num_rows($res);
echo $row;
}
my_func();
работает нормально
Спустя 9 минут, 25 секунд (13.03.2010 - 16:24) Гость_Андрей написал(а):
а у меня нет.
может дело в соединении с БД. Подскажи, пожалуйста, как ты устанавливаешь соединение (я вижу, что второй параметр mysql_query отсутствует).
может дело в соединении с БД. Подскажи, пожалуйста, как ты устанавливаешь соединение (я вижу, что второй параметр mysql_query отсутствует).
Спустя 3 минуты, 43 секунды (13.03.2010 - 16:28) DeeKeiD написал(а):
index.php:
config.php:
test.php:
тоесть у меня все файлы для работы с базой подключены к index.php к которому в свою очередь подключаются все страницы
include ('config.php');
switch($_GET['page'])
{
case "test": include('modules/test.php'); break;
default: include ('modules/news.php'); break;
}
config.php:
$dbhost = 'localhost';
$dbname = 'mydb';
$dbuser = 'root';
$dbpass = 'passw';
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);
test.php:
function my_func()
{
$res = mysql_query("SELECT * FROM `users` WHERE `id` = '1'");
$row = mysql_num_rows($res);
echo $row;
}
my_func();
тоесть у меня все файлы для работы с базой подключены к index.php к которому в свою очередь подключаются все страницы
Спустя 4 часа, 59 минут, 32 секунды (13.03.2010 - 21:27) sergeiss написал(а):
Цитата (Гость_Андрей @ 13.03.2010 - 16:48) |
function temp(){ require 'adm/connect.php'; $res = mysql_query("select * from posts where post_title="kolbasa", $link); $num = mysql_num_rows($res); } |
Параметр $link надо либо передавать в функцию, либо делать глобальным, либо просто не использовать (как делает DeeKeiD). В последнем случае берется последний линк с БД. Если он был один, то тогда всё вообще просто получается, и всё работает (пример - как раз код DeeKeiD).
Спустя 11 минут, 54 секунды (13.03.2010 - 21:39) Гость_Андрей написал(а):
Спасибо вам огромное, господа. Скопировал код один-в-один из последнего примера DeeKeiD и увидел, что все работает.
далее методом проб дошел до ошибки в своем коде. у меня при переносе кода в функцию терялся префикс названия таблиц, который хранился в подключаемом файле. в общем, еще раз благодарю
далее методом проб дошел до ошибки в своем коде. у меня при переносе кода в функцию терялся префикс названия таблиц, который хранился в подключаемом файле. в общем, еще раз благодарю