MySql problem

Joomla mi pri modulu latest news in pri enem izmed menijev javlja spodnjo napako, ki jo ponovi pri vsaki vrstici, ki bi jo moral izpisati iz baze:
Warning: mysqlquery(): supplied argument is not a valid MySQL-Link resource in /publichtml/includes/database.php on line 289

Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /includes/database.php on line 291

Warning: mysqlerror(): supplied argument is not a valid MySQL-Link resource in /publichtml/includes/database.php on line 292

Ta fajl želi v teh vrsticah imeti od baze tole:
#287 $this->errorNum = 0;
$this->
errorMsg = '';
$this->cursor = mysqlquery( $this->sql, $this->resource );
if (!$this->cursor) {
$this->
errorNum = mysqlerrno( $this->resource );
$this->errorMsg = mysqlerror( $this->resource )." SQL=$this->sql";
if ($this->debug) {
trigger
error( mysqlerror( $this->resource ), EUSERNOTICE );
//echo "<pre>" . $this->sql . "</pre>\n";
if (function
exists( 'debugbacktrace' )) {
foreach( debug
backtrace() as $back) {
if (@$back['file']) {
echo '
'.$back['file'].':'.$back['line'];

Zakaj se to pojavlja in zakaj se pojavlja samo včasih in ne vedno? JE to problem skripte, je to problem serverja ali kaj?
Hvala

11 odgovorov

poizkusi z non-persistant connectioni v mysql bazo.

Ker če dobro pogledaš vidiš:

$this->cursor = mysqlquery( $this->sql, $this->resource );
if (!$this->cursor) {
$this->
errorNum = mysqlerrno( $this->resource );

this->cursor bi moral returnati true, če bi se mysqlquery() izvedel. Tako ga pa strežnik sploh ni izvedel... oz. ni mogel izvesti zaradi preveč povezav v mysql bazo.

bl4ckb1rd, v bistvu nimas prav, v $this->cursor je result resource, ce je query valid, ce pride do napake v queryju, pa je vrnjena vrednost res tipa boolean, ampak je false. Je pa res, da se da v expressionu "if (!$this->cursor)" zadeva casta v boolean, kot je to opisano tukaj.

Preseren, problem je, da imas v $this->sql neveljaven query, zakaj pa je neveljaven, pa iz tega, kar si napisal, ni mogoce vedeti. Poskusi vkljuciti debug mode, kar se ocitno da, ce v $this->debug zapises true, pa ti bo zadeva izpisala konkretno mysql napako, ce se odkomentiras tisti "echo <pre>...", bos pa videl se cel sporni query.

Samo dvomim da je sintaksa SQL querya napačna... problem tule je bolj ali se je izvedel pravilno ali ne... Če se mu izvede ponavadi brez napak včasih pa z napakami, pa glede na to da je to news modul predvidevam da nič ne podajaš spremenljivk v query ampak je več ali manj statično... Bolj mi smrdi na strežnik... lahko pa da se motim seveda. Preveri tudi query kot je Vini dejal.

Sej ravno to se mi zdi problem, ker je enkrat napaka, enkrat pa dela normalno..
@Vini, bom naredil, malo pregledam, kaj pride v rezultatih ven,pa bomo vidli, samo morem to danes ponoči naredit, ko ne bo preveč userjev gor.....

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource

plain simple: connect na bazo ni pravi

Ledi, kako si lahko tako preprican, da je to? Po cem to sklepas?

saj lepo da veliko veste, ampak zakaj ne bi enostavno vprasali stricka G?

site:forum.joomla.org mysqlerror(): supplied argument is not a valid MySQL-Link resource in /publichtml/includes/database.php on line 292

http://forum.joomla.org/viewtopic.php?t=131013
http://forum.joomla.org/viewtopic.php?t=144393

Perun, ni povsem nujno, da je to res to, kar navajas, napaka se namrec dogaja v database wrapperju, pa bi lahko bilo karkoli, saj se (upam vsaj) vsa dostopanja do baze dogajajo preko njega. Vsekakor pa dobra najdba, na brzino za preverit, ce je to res to mogoce, bo Preseren povedal :)

hrmm, Perunin g. google sta rešila stvar, problem je bil v joomla cache, ki sem ga vem vklopljenega.
Bomo pač morali delat brez njega....
Hvala vsem, ki ste se potrudili...

na super :) drgac pa - Perunov se mi slisi lepse ;)