Php niets fout, toch?

Pagina: 1
Acties:

  • XippIX
  • Registratie: Augustus 2001
  • Niet online
dit geeft de laatste post weer...
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
if (eregi("block-Articles_10New.php",$PHP_SELF)) {
    Header("Location: index.php");
    die();
}

global $prefix;

$a = 1;
$result = mysql_query("select artid, title from $prefix".nuke_seccont."
order by time DESC limit 0,10");
while(list($artid, $title) = mysql_fetch_row($result)) {
    $title2 = ereg_replace("_", " ", $title);
        if(strlen($title2) > 15) {
            $title2 = substr($title2,0,15);
            $title2 .= "..";
        }
    $content .= "<b><big>&amp;middot;</big></b> $a: <a
href=\"sections.php?op=viewarticle&amp;artid=$artid\">$title2</a><br>";
    $a++;
}
?>

Warning: Supplied argument is not a valid MySQL result resource in
/home/zippie/HTML/block-Articles_10New.php on line 13

krijg ik dan als error

en de table is:

# Tabel structuur voor tabel nuke_seccont

DROP TABLE IF EXISTS nuke_seccont;
CREATE TABLE nuke_seccont (
artid int(11) DEFAULT '0' NOT NULL auto_increment,
secid int(11) DEFAULT '0' NOT NULL,
title text NOT NULL,
content text NOT NULL,
counter int(11) DEFAULT '0' NOT NULL,
PRIMARY KEY (artid)
);

Wat is er nou fout aan? ik zie de fout niet en volgens mij is er gewoon nix fout, het klinkt gek, maar ik snap er echt helemaal niets meer van. iemand een idee :?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16:30

Janoz

Moderator Devschuur®

!litemod

die fout betekend dat je query niet best is.. Is ook best logisch.. Kijk voor de gein maar eens hoe die er uit ziet (met een echo oid)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

$result = mysql_query("select artid, title from $prefix".nuke_seccont."order by time DESC limit 0,10");

noopz

Doet iets met Cloud (MS/IBM)


  • XippIX
  • Registratie: Augustus 2001
  • Niet online
Op vrijdag 04 januari 2002 20:08 schreef D2k het volgende:
$result = mysql_query("select artid, title from $prefix".nuke_seccont."order by time DESC limit 0,10");

noopz
nee, had ik al geporbeerd, werkt niet

  • grhmpf
  • Registratie: December 2000
  • Laatst online: 29-05-2022

grhmpf

Android <3

Misschien kan je dan maar beter stoppen met php.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 04 januari 2002 20:13 schreef grhmpf het volgende:
Misschien kan je dan maar beter stoppen met php.
Euh?

DAN leert ie het idd nooit.

  • XippIX
  • Registratie: Augustus 2001
  • Niet online
zeg dan iets nuttigs, waar ik wat aan heb. :( |:(

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op vrijdag 04 januari 2002 20:17 schreef XippIX het volgende:
zeg dan iets nuttigs, waar ik wat aan heb. :( |:(
ik bedoelde met mijn quote dat dat niet goed was :)
<Edit>
nou vooruit
\""'..'"\"

Doet iets met Cloud (MS/IBM)


  • Bigs
  • Registratie: Mei 2000
  • Niet online
Gewoon even de query echo'en dan zie je of hij klopt (evt. invoeren in de MySQL client of phpMyAdmin).. standaardprocedure als je zo'n fout krijgt.

  • grhmpf
  • Registratie: December 2000
  • Laatst online: 29-05-2022

grhmpf

Android <3

Ja kijk naar je query die is helemaal verkeerd. Een beetje zelf uitzoeken kan geen kwaad. Je tablenaam moet gewoon in de query staan...en wat is $prefix?

Oh en de topictitel vind ik ook maar niets. Als er niets fout is krijg je immers geen error. Maar dat terzijde :)

Verwijderd

Op vrijdag 04 januari 2002 20:17 schreef XippIX het volgende:
zeg dan iets nuttigs, waar ik wat aan heb. :( |:(
Denk je dat dit zin heeft?
Dan helpen ze je helemaal niet meer(ik iig niet).

Ik snap mensen niet hoor, wees blij dat ze het proberen op te lossen.
Jou lukt het niet.

Verwijderd

Ik probeer dan meestal m'n query in de commandline-modus (weet ff niet hoe je dat anders noemt) op de database server. Om te zien wat er mis is met de query waardoor je een verkeerde $result krijgt.

En inderdaad ff je query echo'en zodat je kan zien of daar soms fouten in zitten.

suc6! ;)

/edit
Wat bigs dus zegt idd.

  • grhmpf
  • Registratie: December 2000
  • Laatst online: 29-05-2022

grhmpf

Android <3

zal ik het dan maar spellen

"select col from tabelnaam where voorwaarde"

en meer hints geef ik niet :)

  • XippIX
  • Registratie: Augustus 2001
  • Niet online
ok eff gedaan krijg deze error:

Unknown column 'time' in 'order clause'

  • grhmpf
  • Registratie: December 2000
  • Laatst online: 29-05-2022

grhmpf

Android <3

Oke nog eentje dan. Wat typ je precies in als query ?

  • XippIX
  • Registratie: Augustus 2001
  • Niet online
er is gewoon geen time regen in de tabel

deze net evengemaakt

slanguage varchar(30) NOT NULL default '',
time datetime NOT NULL default '0000-00-00 00:00:00',


denk, dat ik deze er tussen moet voegen :?

Verwijderd

$result = mysql_query("select artid, title from $prefix".nuke_seccont."order by time DESC limit 0,10");
noopz

na die nuke_seccont (wat trouwens een variabele moet zijn en er een $ voor moet staan) moet je een spatie zetten. Dus VOOR de ORDER BY hoort een spatie.

  • XippIX
  • Registratie: Augustus 2001
  • Niet online
nee, er staat toch order by time

maar er is helemaal geen time row in de tabel
als error geeft ie toch ook: Unknown column 'time' in 'order clause'

Verwijderd

ik zou eerst eens een

echo $query;

doen ;)

er mist namelijk een spatie voor die ORDER. Anders komen er 2 stukjes tekst tegen elkaar (waaronder die ORDER) en krijg je een fout 'commando'.

  • grhmpf
  • Registratie: December 2000
  • Laatst online: 29-05-2022

grhmpf

Android <3

zucht...goed komt ie

Even je query dan maar.
"select artid, title from $prefix".nuke_seccont."
order by time DESC limit 0,10"
Ten eerste: wat is prefix ? Een variabele. En bevat die prefix een gedeelte van de tabelnaam ? Lijkt me niet. Want je tabel is nuke_seccont zeg je net. Waarom doe je dan ingodsnaam ".nuke_seccont." ? Het is gewoon een tabelnaam. Dus zonder die prefix zou je doen:

"select artid, title from nukeseccont". Dus dat dat nuke_seccont buiten je string staat is al een probleem. Die prefix die daar rondzwerft lijkt me ook niet goed. Moet je zelf maar eens uitzoeken of je uberhaupt wel de juiste kolommen uit die tabel wil trekken want uiteraard zijn we niet van de gratis debugservice :)

Verwijderd

Tevens moet je eens even bedenken hoe hij moet sorteren op time als die niet voorkomt ;)

Dat kan natuurlijk ook niet.

Doe aub eerst even echo $query; en laat dat hier zien.

Dan kunnen we verder helpen.

  • XippIX
  • Registratie: Augustus 2001
  • Niet online
prefix geeft de tabel naam

$prefix"._seccont

prefix is zippie
. nuke

  • grhmpf
  • Registratie: December 2000
  • Laatst online: 29-05-2022

grhmpf

Android <3

Ik geef het op :) Hij is koppig geeft geen antwoord op wat je vraagt en als ie wat zegt dan is het pure onzin of cryptiek...prettige avond :)

  • XippIX
  • Registratie: Augustus 2001
  • Niet online
Unknown column 'time' in 'order clause' dit zegt ie dan

$result = mysql_query("select artid, title from $prefix"._seccont." order by time DESC limit 0,10") or die (mysql_error());

Verwijderd

Ja, blijkbaar.

Ik stop ook.

topicstarter: als je eerst nou die echo $query even hier laat zien, dat denk ik dat je meer bereikt.

Lees aub goed wat anderen je voor 'oplossing' op tips aandragen. Als je dat niet doet, prima, maar dan kan het zijn dat anderen het laten afweten.

En dat komt niet omdat zij niet willen helpen hoor :7

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

als je
PHP:
1
2
3
<?
$result = mysql_query("select artid, title from $prefix".nuke_seccont."order by time DESC limit 0,10");
?>

nou eens vervangt door:
PHP:
1
2
3
4
5
6
7
8
9
<?
$Query  = "SELECT artid, title ";
$Query .= "FROM $prefix".nuke_seccont.
$Query .= "ORDER BY Time DESC ";
$Query .= "LIMIT 0,10";

$Result=mysql_query($Query)
         or die("Query Failed :$Query");
?>

zie je hopelijk waar 't fout gaat :P

de "or die" is als je aan 't debuggen bent IMHO zowieso een goed idee bij een mysql_query commando, zorgt voor 'betere' error afhandeling
Pagina: 1