Toon posts:

[mysql] een rij mist

Pagina: 1
Acties:
  • 40 views sinds 30-01-2008

Verwijderd

Topicstarter
Na het uitvoeren van een query zoals SELECT * FROM table; en met PHP het volgende uit te voeren:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$hostname_dbcon = "host";
$database_dbcon = "db";
$username_dbcon = "con";
$password_dbcon = "pw";
$dbcon = mysql_pconnect($hostname_dbcon, $username_dbcon, $password_dbcon) or trigger_error(mysql_error(),E_USER_ERROR); 

mysql_select_db($database_dbcon, $dbcon);
$query = 'SELECT * FROM `ct` order by sublevel DESC'; 
$result = mysql_query($query, $dbcon) or die(mysql_error());
$row = mysql_fetch_assoc($result);

 print "<table>\n";
 while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
     print "\t<tr>\n";
     foreach ($line as $col_value) {
         print "\t\t<td>$col_value</td>\n";
     }
     print "\t</tr>\n";
 }
 print "</table>\n";

mysql_free_result($result);
mysql_close($dbcon);


laat de output alle rijen zien behalve de eerste. Ik heb hier en daar wat gelezen over bugs m.b.t. NULL variabelen echter zijn alle velden van de tabel gevuld met waarden. Heeft iemand de oplossing of een link er naar toe??
Alvast bedankt,
DvDRuiT

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Rara, wat doet deze regel? ;)
PHP:
1
$row = mysql_fetch_assoc($result);

[ Voor 35% gewijzigd door eamelink op 13-03-2006 21:30 ]


  • cerebrum
  • Registratie: Maart 2004
  • Laatst online: 06:19
ik zou regel 10 eens weglaten....
eamelink schreef op maandag 13 maart 2006 @ 21:30:
Rara, wat doet deze regel? ;)
PHP:
1
$row = mysql_fetch_assoc($result);
dat ja! :O

[ Voor 76% gewijzigd door cerebrum op 13-03-2006 21:31 ]

WP Pana 7J mono | AC Toshiba 3.5+4.6kW | PV 3200WP ZZO | Gasloos Nov23


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

eamelink schreef op maandag 13 maart 2006 @ 21:30:
Rara, wat doet deze regel? ;)
PHP:
1
$row = mysql_fetch_assoc($result);
Maakt niets uit aan het script

maar ik zou regel 15-17 eens vervangen door

PHP:
15
16
17
print "<pre>";
print_r($line);
print "</pre>";


en

PHP:
9
 while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {



PHP:
9
 while ($line = mysql_fetch_array($result)) {

[ Voor 34% gewijzigd door Snake op 13-03-2006 21:36 ]

Going for adventure, lots of sun and a convertible! | GMT-8


  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 00:10

DataGhost

iPL dev

snake903 schreef op maandag 13 maart 2006 @ 21:34:
[...]


Maakt niets uit aan het script
jawel hoor
maar ik zou regel 15-17 eens vervangen door

PHP:
15
16
17
print "<pre>";
print_r($line);
print "</pre>";
ahja... vervang iets wat nog redelijk net is door rommel :Y)
en

PHP:
9
 while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {



PHP:
9
 while ($line = mysql_fetch_array($result)) {
http://nl2.php.net/mysql_fetch_array
array mysql_fetch_array ( resource result [, int result_type] )


Returns an array that corresponds to the fetched row and moves the internal data pointer ahead.
Parameters


result

The result resource that is being evaluated. This result comes from a call to mysql_query().
result_type

The type of array that is to be fetched. It's a constant and can take the following values: MYSQL_ASSOC, MYSQL_NUM, and the default value of MYSQL_BOTH.
maakt wel degelijk uit?

offtopic:
verder trouwens onzintopic, je had makkelijk even zelf kunnen debuggen, naar je code kunnen kijken, kijken hoe de functies die je gebruikt uberhaupt werken en je had wat zoekwerk kunnen verrichten

[ Voor 15% gewijzigd door DataGhost op 13-03-2006 21:45 ]


  • Observer
  • Registratie: April 2001
  • Laatst online: 08:03
snake903 schreef op maandag 13 maart 2006 @ 21:34:
[...]

Maakt niets uit aan het script
Oh, jawel hoor. Mysql_fetch_assoc en mysql_fetch_array nemen allebei de eerst volgende nieuwe rij en zetten de interne counter eentje verder, zodat een nieuwe aanroep van een van beide functies een volgende rij oplevert.
De eerste call pakt rij een, de call(s) in de while loop de rest.

There are 10 kinds of people in the world: those that understand binary and those that don't


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Inderdaad gewoon een kwestie van logisch nadenken en zelf debuggen. :) Die eerste fetch_assoc is overbodig (sowieso doe je er niets mee) en zorgt ervoor dat je de eerste rij data mist. Maar daar had je prima zelf uit moeten komen als je even debugt; sowieso is dat iets dat je zelf moet kunnen doen.

Lees anders ook Programming FAQ - Debuggen: hoe doe ik dat? even door, en dan meteen ook Programming FAQ - De "quickstart", want ik mis nogal wat informatie in je topicstart. Je topic komt nu over als "dit is mijn code, dit gaat er fout, debug maar", en dat is hier dus niet de bedoeling. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.