[PHP+mysql] mysql_fetch_array() werkt niet langer

Pagina: 1
Acties:

  • Sn0rkel
  • Registratie: Februari 2003
  • Laatst online: 21-08 10:12
Ik heb zojuist mijn dbase + website verhuist naar een nieuwe snelle server, maar de sql statements in php beginnen nu te zeuren.

PHP:
1
2
3
4
  $sql = mysql_query("SELECT * FROM tq_arten WHERE file=\"$MyFile\"");
  while($row = mysql_fetch_row($sql)){  
  ...
  }


eerst gaf dit het gewenste resultaat. Nu ik echter een nieuwere versie van sql voor de kiezen heb :X (3.23.55) krijg ik de volgende error:
code:
1
2
Warning: mysql_fetch_array(): supplied argument is 
not a valid MySQL result resource [...]  :?

hoe moet ik nu mijn waarden uit $sql gaan gebruiken in mn php? (meerdere rijen, 8 velden per rij).

edit: voor de geinteresserde GoT'er, het gaat om: http://th03acc0130.swissw...lang=en&MyFile=en/welcome

[ Voor 18% gewijzigd door Sn0rkel op 21-03-2003 09:16 ]


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

Verkeerde forum..

maar probeer je query eens naar het scherm te zetten, dan zie je wat je werkelijk uitvoert...

Move W&G -> P&W

  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

Volgens mij moet dit in /14

edit:
Bosmonster was eerder...

[ Voor 44% gewijzigd door André op 20-03-2003 17:09 ]


  • Sn0rkel
  • Registratie: Februari 2003
  • Laatst online: 21-08 10:12
stom wist ik ook wel... verkeerde aangeklikt |:(

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

PHP: Variabelen die van buitenaf komen. *lezen!* ?

verder is het ook wel even handig om te checken op errors alvorens je de result wilt ophalen

output mysql_error () bijvoorbeeld eens, dan weet je ook waarom het fout gaat


PS: de database en functies zijn van mysql, sql is slechts de taal om de queries te beschrijven (je kunt dan ook niet zeggen: ik heb sql versie 3.23.12 ofzo ;))

[ Voor 75% gewijzigd door .oisyn op 20-03-2003 17:50 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Sn0rkel
  • Registratie: Februari 2003
  • Laatst online: 21-08 10:12
@oisyn ik bedoelde idd mysql ipv sql.
verder: als ik in phpmyadmin de vereenvoudigde query uitvoer krijg ik mn resultaten prima aangeleverd, dus dat deel klopt. Ik heb het script ff vereenvoudigd naar
PHP:
1
2
3
4
  $sql = mysql_query("SELECT * FROM tq_arten");
  while($row = mysql_fetch_array($sql)){  
      $title = $row["title"];
  }

maar het probleem blijft. Alles werkte eerst prima maar nu blijft mysql zeuren.. ik snap dr geen hout van, wat kan in bovenstaand scrippie nou nog fout gaan :?

edit: de dbase conn enzo zijn gewoon open natuurlijk

[ Voor 12% gewijzigd door Sn0rkel op 21-03-2003 09:17 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

mysql_error () !!!!!
tussen de query en de fetch zetten

[ Voor 48% gewijzigd door .oisyn op 20-03-2003 18:01 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • robbert
  • Registratie: April 2002
  • Laatst online: 21:44
en als je dit doet
PHP:
1
2
3
4
  $sql = mysql_query("SELECT * FROM tq_arten WHERE file=\"" . $_POST["MyFile"] . "\"");
  while($row = mysql_fetch_row($sql)){  
  ...
  }

  • Sn0rkel
  • Registratie: Februari 2003
  • Laatst online: 21-08 10:12
Hmmzz hij doet het nu wel. Ik heb $sql = mysql_query("SELECT * FROM tq_arten WHERE file=\"$MyFile\""); omgezet in
PHP:
1
2
3
4
5
$sql = "SELECT * FROM tq_arten WHERE file='$MyFile'");
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
...
}


blijkbaar levert de directe schrijfwijze een probleem op (dit ligt niet aan het $myfile geklooi, ook bij een eenvoudige select gaat het fout (SELECT * FROM tq_arten). Nu kan ik dus alles ombakken. enne echo(mysql_error()); geeft nix weer

maar t is dus opgelost, ookal weet ik niet waar het aan lag :S

EDIT: typo

[ Voor 13% gewijzigd door Sn0rkel op 21-03-2003 09:17 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

SELECT * FROM tq_arten

vs

SELECT * FROM arten

:?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Sn0rkel schreef op 20 March 2003 @ 18:15:
enne echo(mysql_error()); geeft nix weer


lijkt me stug als de query fout is
heb je het zo gedaan?

PHP:
1
2
3
4
5
6
7
8
9
  $sql = mysql_query("SELECT * FROM tq_arten WHERE file=\"$MyFile\"");
  if (!$sql)
    echo mysql_error ();
  else
  {
    while($row = mysql_fetch_row($sql)){  
    ...
    }
  }

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Sn0rkel
  • Registratie: Februari 2003
  • Laatst online: 21-08 10:12
mja het werkt nu iig wel

Okee ik wordt gek. Het zit zo, als ik de pagina voor de 1e keer open geeft hij de bekende foutmelding (Warning: mysql_fetch_array(): supplied argument is
not a valid MySQL result resource [...]). Als ik dan reload is het probleem weg. Ik heb .oisyn zn code gebruikt nu in onderstaand scrippie en het enige wat verschijnt is dus de error... |:(

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  include("includes/global.php");
  opendb();
  
  $sql = "SELECT * FROM tq_art$tq_lang WHERE file='$MyFile'";
  $result = mysql_query($sql);
  if (!$sql){ 
    echo mysql_error (); 
  }else{
    while($row = mysql_fetch_array($result)){  
      $title = $row["title"];
      $section = $row["section"];
      $location = $row["location"];
      $parent = $row["parent"];
      $base = $row["baselvl"];
      $stud_tip = $row["stud_tip"];
      $teach_tip = $row["teach_tip"];
      $prev = $row["previous"];
      $next = $row["next"];
    }
  }


dit staat in de body, verder geen enkele code, tags ofzow behalve html en head. global.php levert de functie opendb(); verder ook nix.

[ Voor 109% gewijzigd door Sn0rkel op 21-03-2003 09:45 ]


  • Sn0rkel
  • Registratie: Februari 2003
  • Laatst online: 21-08 10:12
Okeej ik heb het eindelijk ontdekt...
ik heb bij het plaatsen van de sessie en het ophalen van $tq_lang ipv $_GET["tq_lang"]; $_GET["lang"]; gebruikt met als gevolg dat $sql leeg blijft. Na de 1e pageview werd dit probleem dus verholpen door de geplaatse sessie met defaultwaarde als $_GET.. leeg is.

In ieder geval bedankt voor de hulp en wat mij betreft mag er nu wel een slotje op
Pagina: 1