Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 20:34 03.06.24 
Компютри и Интернет
   >> Бази данни
*Кратък преглед

Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема supplied argument is not a valid MySQL result res.нови  
АвторCaptainFoo (Нерегистриран)
Публикувано15.09.03 20:13



privet na vsichki.

opitvam se da razbera zashto scripta (sled tozi class) ne iska da sraboti s MySQL.
iavno ne haresva resource-a, no ne useshtam kyde e problema..
do 'while($row = mysql_fetch_array($dbquery))' niama greshki (mai!;-).
koito ima malko vreme i idei da pishe :-)

blagodaria za otgovorite.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/project/oo/run.php on line 14

// m.class.php

<?

class Common

{
var $m_dbHost = 'localhost';
var $m_dbUser = 'dbuser';
var $m_dbPass = 'dbpass';
var $m_dbName = 'mdb';


function Connect()
{
$this->m_link = mysql_connect($this->m_dbHost, $this->m_dbUser, $this->m_dbPass);

if (!$this->m_link)
{
die($this->m_error = "Не мога да се свържа: " . mysql_error());
return FALSE;
}

echo 'connected';
return TRUE;

}

function Select()
{
$this->tbl = mysql_select_db($this->m_dbName, $this->m_link);

if (!$this->tbl)
{
die($this->m_error = "Не мога да използвам базата: " . mysql_error());
return FALSE;
}

echo 'db selected';
return TRUE;

}

function Query($dbquery)
{
$this->query = mysql_query($dbquery);

if (!$this->query)
{
die($this->m_error = "Не мога да изпълня запитването: " . mysql_error());
return FALSE;
}

echo 'query executed';
return TRUE;


}

function Close()
{
if ($this->m_link) mysql_close($this->m_link);
}



}

?>


// run.php

<?

require 'm.class.php';

$m_db = new Common;
$m_db->Connect();
$m_db->Select();
$m_db->Query('SELECT name, address FROM students WHERE id = 1');

while($row = mysql_fetch_array($dbquery))
{
echo $row['name'].$row['address'];
}

$m_db->Close();

?>



Тема Re: supplied argument is not a valid MySQL result res.нови [re: CaptainFoo]  
Автор Dakota (erotoman)
Публикувано16.09.03 11:19



Въпреки, че това е по-скоро за PHP клуба, ще ти отговоря тук.

Както е известно, във функциите mysql_fetch_***, първият аргумент трябва да е resourse върнат от mysql_query(). Т.е. в твоя случай, трябва да вземеш променливата $this->query и да я използваш като първи аргумент в mysql_fetch_array(). Макар и да не ми харесва този клас, така би трябвало да сработи:

<? 

require 'm.class.php';
$m_db = new Common;
$m_db->Connect();
$m_db->Select();
$m_db->Query('SELECT name, address FROM students WHERE id = 1');
while($row = mysql_fetch_array($m_db->query))
{
echo $row['name'].$row['address'];
}
$m_db->Close();
?>


По-добре накарай метода Query() да връща този result!

Everything louder than everything else...

Тема Re: supplied argument is not a valid MySQL result res.нови [re: CaptainFoo]  
Автор3ъл Oйлюфф (Нерегистриран)
Публикувано16.09.03 11:22



въпроса ти е за клуб ПХП, но както и да е...

в тва while($row = mysql_fetch_array($dbquery)) $dbquery идва от никъде... и съдържа всичко друго но не и valid MySQL result resource

и въобще целия този скрипт не прави нищо...



Тема Re: supplied argument is not a valid MySQL resultнови [re: Dakota]  
АвторCaptainFoo (Нерегистриран)
Публикувано16.09.03 12:45



otnovo vryshta syshtata greshka. i kakvo mu ima na klasa, che ne go haresvash?



Тема sorry, ama ...нови [re: CaptainFoo]  
АвторAcidMemory (Нерегистриран)
Публикувано16.09.03 13:00



един дбклас наистина не трябва да изглежда точно по такъв начин ...

иначе, като искаш да ти тръгне сорса, просто накрая направи така ...

while($row = mysql_fetch_array($m_db->query))



Тема Re: sorry, ama ... ?!?!нови [re: AcidMemory]  
АвторPavel (Нерегистриран)
Публикувано17.09.03 18:54



Shto be clasa ne e dalech ot istinata. Kakwo mu trabwa na chovek - edin consturktor i edin method za querita.

Kolkoto do greshkata - s 5min debug i sam mojeshe da si q nameri, no uvi.



Тема Re: sorry, ama ... ?!?!нови [re: Pavel]  
АвторCaptainFoo (Нерегистриран)
Публикувано18.09.03 12:19



Pafka, che da beshe otgovoril i na vyprosa li, shto li? Nito edin ot dosegashnite ne reshava problema.



Тема Re: sorry, ama ... ?!?!нови [re: CaptainFoo]  
Автор ro6avia (ламерясал)
Публикувано18.09.03 14:33



земи си некой фри датабасе клас и карай с него
не се мъчи

E tuk ni6to niama :



Тема Re: Как така нито един????нови [re: CaptainFoo]  
Автор salle (един такъв)
Публикувано18.09.03 14:35



Ти не четеш ли?

Автор 3ъл Oйлюфф (Нерегистриран)
Публикувано 16.09.03 11:22

...
в тва while($row = mysql_fetch_array($dbquery)) $dbquery идва от никъде... и съдържа всичко друго но не и valid MySQL result resource

Автор AcidMemory (Нерегистриран)
Публикувано 16.09.03 13:00

...
иначе, като искаш да ти тръгне сорса, просто накрая направи така ...
while($row = mysql_fetch_array($m_db->query))

Все си мислех, че и сам ще забележиш елементарната грешка която имаш в скрипта.

while($row = mysql_fetch_array($dbquery))

В този момент $dbquery e недефинирано. Даже и да имаш предвид това което в класа се нарича $dbquery то е стринг а не Resource ID върнат като резултат от успешно mysql_query()

Затова и Acidmemory ти препоръчва да го смениш на $m_db->query

Уважавай труда на другите. След като са си загубили време дапрочетат целия ти код вземи пък и ти да прочетеш какво са ти отговорили.

А за това, че целия ти код не е читаво написан ...

$m_db->Query('SELECT name, address FROM students WHERE id = 1');

Странничко. Никъде не проверяваш пезултата от Query.

В същото време в самия метод имаш:

function Query($dbquery)
{
$this->query = mysql_query($dbquery);

if (!$this->query)
{
die($this->m_error = "Не мога да изпълня запитването: " . mysql_error());

/* Този ред НИКОГА няма да се изпълни. Какъв е смисъла от него? */
return FALSE;
}

echo 'query executed';

/* Какъв е смисъла да връщаш TRUE? */
return TRUE;
}

Значи методът Query ти е написан така, че или изпълнява заявката или ако възникне грешка излиза от целия PHP скрипт с грешка.

Това на практика не върши работа никъде. Тъй, че прави са колегите като ти казват, че концепцията ти за този клас е грешна по принцип.

Амо то това е за Програмиране не за Бази Данни



Тема Re: supplied argument is not a valid MySQL result res.нови [re: CaptainFoo]  
Автор3ъл Oйлюфф (Нерегистриран)
Публикувано18.09.03 15:33



не се мъчи с тва нещо ами върви някъде в нета и си изтегли phplib примерно версиа 7.2
от него си вземи db_mysql.lib.php или както там се казваше
ако нещо не ти трябва от него просто си го изтрий...




Страници по тази тема: 1 | 2 | >> (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.