[PHP] MySQL_Fetch_Row Error

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • FireWire
  • Registratie: November 2000
  • Niet online

FireWire

I taste like chicken...

Topicstarter
Ik ben bezig een systeem te maken om foto's weer te geven op een webpagina en dan per pagina zoveel foto's

Maar als ik de fotos wil parsen (foto url, en text die er bij staat) krijg ik deze error
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in d:\apache\htdocs\sleep\fotos.php on line 64
De echo "1"; doet het overigens wel..

Ik weet dat ik niet zo goed ben in php, maar kan hier ook niet uit komen, ik heb ook fetch_array geprobeerd maar daar snapte ik nog minder van :?

Iemand enig idee waar deze error vandaan komt?

Het stuk PHP wat hier achter werkt is dit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
  $link = mysql_connect($host , $user, $password)
    or die("Could not connect: " . mysql_error());
  mysql_select_db($database);

  $condition="1=1";
  $orderby="name";
  $direction="DESC";

  $perpage = intval($perpage);
  $limitlower=($pagenumber-1)*$perpage+1;
  $limitupper=($pagenumber)*$perpage;
  $counter=0;

  $fotocount=mysql_query("SELECT COUNT(*) AS fotos FROM fotos WHERE $condition");

  $totalfotos=$fotocount[fotos];
  if ($limitupper>$totalfotos) {
    $limitupper=$totalfotos;
    if ($limitlower>$totalfotos) {
      $limitlower=$totalfotos-$perpage;
    }
  }
  if ($limitlower<=0) {
    $limitlower=1;
  }

  $fotos=mysql_query("SELECT *
                          FROM fotos
                          WHERE $condition 
                          ORDER BY $orderby $direction
                          LIMIT ".($limitlower-1).",$perpage");

  $counter=0;

  while ($fotoinfo=mysql_fetch_row($fotos) and $counter++<$perpage) {

    $post=$fotoinfo;
    $fotolistbit .= "woei";

  }  // end while

  echo "1";
  echo $fotolistbit;
  echo $pagenav;
  mysql_close($link);
}

\__________________________________Niet verwarren met IEEE 1394__________________________________/


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je query gaat fout (welke regel is trouwens die 64 :? )
http://www.php.net/manual/en/function.mysql-query.php
Lees dat es door.

Btw, kijk ook hier es naar:
$fotocount=mysql_query("SELECT COUNT(*) AS fotos FROM fotos WHERE $condition");

$totalfotos=$fotocount[fotos];
Scheelt je wellicht een volgende vraag, uit de mysql_query functie komen iig geen gegevens waar je direct wat mee kan...

(ow, waarsch zul je ontdekken dat als je iets als:
PHP:
1
2
3
4
5
6
$query = "SELECT *
                          FROM fotos
                          WHERE $condition 
                          ORDER BY $orderby $direction
                          LIMIT ".($limitlower-1).",$perpage";
$fotos=mysql_query($query) or die("Error in query $query :" . mysql_error());

Doet dat de $limitlower -1* $perpage is...
Door bovenstaande fout.

Acties:
  • 0 Henk 'm!

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 01-09 11:48
PHP-zooi:
PHP:
1
2
3
4
5
$query = 'SELECT fietsband FROM viedz';
$result = mysql_query($query);
while ($row = mysql_fetch_row($result)) {
  // hier kun je de resultaten opvragen
} // while

Mysql-zooi:
Een COUNT() gaat volgens mij altijd samen met een "GROUP BY"-statement right?

Acties:
  • 0 Henk 'm!

  • PrinsEdje80
  • Registratie: Oktober 2001
  • Laatst online: 15-07 09:34

PrinsEdje80

Holographic, not grated...

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  $fotos=mysql_query("SELECT * 
                          FROM fotos 
                          WHERE $condition  
                          ORDER BY $orderby $direction 
                          LIMIT ".($limitlower-1).",$perpage"); 

  $counter=0; 

  while ($fotoinfo=mysql_fetch_row($fotos) and $counter++<$perpage) { 

    $post=$fotoinfo; 
    $fotolistbit .= "woei"; 

  }  // end while 

Hier moet je in verwerken wat ACM ongeveer al zegt:
PHP:
1
2
3
4
5
$fotocount=mysql_query("SELECT * FROM fotos WHERE $condition");
// hier de loop met while en fetch_row
{
$totalfotos=$fotocount['fotonaam'];
}

want wat je uit een mysql query haalt komt eerst terecht als een object. Je kunt de nu vanuit het object de kolomnamen gebruiken om ieder element uit de rij te halen. Zie voorbeeld.

[ Voor 8% gewijzigd door PrinsEdje80 op 24-02-2003 10:12 . Reden: niet echt duidelijk... ]

Used to be Down Under... Foto gallery


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

PrinsEdje80:
PHP:
1
//snip

Hier moet je in verwerken wat ACM ongeveer al zegt:
PHP:
1
//snip

want wat je uit een mysql query haalt komt eerst terecht als een object. Je kunt de nu vanuit het object de kolomnamen gebruiken om ieder element uit de rij te halen. Zie voorbeeld.
:? Wat je hier nou precies mee toevoegt, is voor mij een raadsel, eigenlijk ...

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • nikao
  • Registratie: November 1999
  • Laatst online: 10-02-2022
is het trouwens niet mogelijk om een variabele in het LIMIT gedeelte te plaatsen? .. hier liep ik laatst tegenaan namelijk toen ik 50 resultaten per pagina wou laten zien met een next knop onderaan de page..

Acties:
  • 0 Henk 'm!

  • FireWire
  • Registratie: November 2000
  • Niet online

FireWire

I taste like chicken...

Topicstarter
Dankzij jullie hulp kan ik eindelijk gegevens uit me database trekken :) thnx daarvoor
Nu vraag ik me alleen af waarom ik niets terug krijg uit de getpagenav volgens mij klopt die namelijk wel... :? krijg dus echt helemaal niets terug daarvan, alsof het niet bestaat...

Source

[ Voor 87% gewijzigd door FireWire op 24-02-2003 11:51 ]

\__________________________________Niet verwarren met IEEE 1394__________________________________/


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Probeer even je vraag te herformuleren aan de hand van de quickstart, want 't begint nou toch wel erg veel te lijken op "ik plaats mijn code, en ze lossen het wel ff op" ;)

Lappen code word ik iig niet blijer van. Een beetje debug-informatie, daarentegen ... :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • FireWire
  • Registratie: November 2000
  • Niet online

FireWire

I taste like chicken...

Topicstarter
drm schreef op 24 February 2003 @ 11:30:
Probeer even je vraag te herformuleren aan de hand van de quickstart, want 't begint nou toch wel erg veel te lijken op "ik plaats mijn code, en ze lossen het wel ff op" ;)

Lappen code word ik iig niet blijer van. Een beetje debug-informatie, daarentegen ... :)
Sorry zo wil ik helemaal niet overkomen..

Ik heb een foto album wat de foto's uit de database haalt, dit werkt dankzij jullie hulp nu wel, dit is de 2e keer in mijn leven dat ik echt php gebruik, en niet alleen maar standaard functies uit vbulletin, ik heb dus nog niet echt veel ervaring met php ;)

Ik wil dus per pagina 10 fotos laten zien, en de omschrijving van die foto's, en dan helemaal onderaan een pagenav waarmee je tussen de foto pagina's kan schakelen.. de functie hiervoor staat in me fotos.php en klopt volgens mij ook gewoon, ik snap ook niet waarom er gewoon niets gereturned word :? Want in mijn gastenboek werken me functies wel, maar die zijn heel simpel gewoon de <> vervangen voor de html codes daarvoor.

Me functie word wel juist aangeroepen, want als ik echo $perpage; erin zet komt er wel 10 achter me output aan. Er zit ergens een fout in die $totalfotos zie ik nu, even kijken :)

* FireWire slaat zichzelf voor zjn kop

PHP:
1
2
  $query = mysql_query("SELECT COUNT(*) AS fotos FROM fotos WHERE $condition");
  $fotocount = mysql_num_rows($query);


PHP:
1
2
  $query = mysql_query("SELECT * FROM fotos WHERE $condition");
  $fotocount = mysql_num_rows($query);


En ik me maar afvragen waarom het niet werkt |:(

[ Voor 13% gewijzigd door FireWire op 24-02-2003 11:59 ]

\__________________________________Niet verwarren met IEEE 1394__________________________________/

Pagina: 1