[PHP] Resultset probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,
Ik heb de waarde van een kolom van iedere rij in mijn tabel nodig,
die bevat +/- 100.000 rijen.
dus mijn query ziet er als volgt uit
PHP:
1
2
3
4
5
$r = mysql_query("SELECT * FROM table");
while ($row = mysql_fetch_row($r)){
 // hier doe ik wat bewerkingen.. 
  echo $row[0].'<br>'; 
}

Vanaf ik aan +/- rij 17.900 kom krijg ik geen resultaat meer
Zit er misschien een maximum op die resultset?
17900 * 2 ~ligt in de buurt van de maximum waarde voor een int.
(mss signed waarde ofzo :s) zou niet weten wat ik anders mis doe.
thx
jr3

[ Voor 5% gewijzigd door Verwijderd op 14-01-2004 19:47 ]


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Waarom zou je de waarde van een kolom uit 100.000 records willen halen? En zou je je code in [php] tags willen zetten?

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

Ben je die rijen ook allemaal aan het printen? Dan lijkt het me eerder een probleem van je browser.

Acties:
  • 0 Henk 'm!

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Ik zit eerder te denken aan een instelling mbt. maximale paginagrootte in php oid.

Who is John Galt?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Michali schreef op 14 januari 2004 @ 19:43:
Waarom zou je de waarde van een kolom uit 100.000 records willen halen? En zou je je code in [php] tags willen zetten?
welja die tabel is een dictionary met engelse woorden,
en heb een map met files waarvan de filename een engels woord is uit die tabel.
.. om die file te kunnen openen heb ik de bijhorende naam nodig uit de tabel.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 14 januari 2004 @ 19:49:
Ben je die rijen ook allemaal aan het printen? Dan lijkt het me eerder een probleem van je browser.
nope, want ik gebruik iedere keer insert query's en die werken ook niet meer

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Verwijderd schreef op 14 januari 2004 @ 19:49:
[...]

welja die tabel is een library met engelse woorden,
en heb een map met files waarvan de filename een engels woord is uit die tabel.
.. om die file te kunnen openen heb ik de bijhorende naam nodig uit de tabel.
Dus je beweert eigenlijk dat je 100.000 files wilt gaan openen :?

Trouwens een quote uit de doc's:
SQL_SELECT_LIMIT = value | DEFAULT

The maximum number of records to return from SELECT statements. If a SELECT has a LIMIT clause, the LIMIT takes precedence over the value of SQL_SELECT_LIMIT. The default value for a new connection is ``unlimited.'' If you have changed the limit, the default value can be restored by using a SQL_SELECT_LIMIT value of DEFAULT.
http://www.mysql.com/doc/en/SET_OPTION.html

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 21:27

Reinier

\o/

Overigens is het sowieso vies om SELECT * te gebruiken, vooral als je maar 1 kolom gaat gebruiken... SELECT 'kneus' voldoet.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Reinier schreef op 14 januari 2004 @ 19:56:
Overigens is het sowieso vies om SELECT * te gebruiken, vooral als je maar 1 kolom gaat gebruiken... SELECT 'kneus' voldoet.
ja zit maar één kolom in tabel..

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Zit je niet gewoon met de browser-timeout te hannessen?
Dat je dus na ~17900 ongeveer te lang erover gedaan hebt voor je browser, zonder die browser enige informatie te sturen?

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Het wordt me echt steeds vager allemaal. Ok, leg eens rustig uit wat je precies wilt doen met de tabel en hoe je dit op dit moment toepast in je code. Ik heb namelijk het idee dat je erg vreemd bezig bent. Wat is nu precies het doel van de tabel. Wat wil je precies met de waarde uit de kolom van de tabel doen, en hoe ziet die code er nu uit? Ik denk dat dit wel minstens de informatie is de nodig is om het probleem een beetje goed te kunnen overzien. Anders wordt het een beetje moeilijk om te helpen.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • Tycoontje
  • Registratie: Februari 2003
  • Laatst online: 15-07 12:59
Ik weet niet hoe lang het duurt, maar ga je toevallig niet buiten je max_execution_time (default 30 seconden geloof ik).

Of eventueel memory_limit?

http://nl.php.net/ini_set

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Michali schreef op 14 januari 2004 @ 20:06:
Het wordt me echt steeds vager allemaal. Ok, leg eens rustig uit wat je precies wilt doen met de tabel en hoe je dit op dit moment toepast in je code. Ik heb namelijk het idee dat je erg vreemd bezig bent. Wat is nu precies het doel van de tabel. Wat wil je precies met de waarde uit de kolom van de tabel doen, en hoe ziet die code er nu uit? Ik denk dat dit wel minstens de informatie is de nodig is om het probleem een beetje goed te kunnen overzien. Anders wordt het een beetje moeilijk om te helpen.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
set_time_limit(0);
error_reporting(E_ALL);
$con = mysql_connect ( "localhost", "username", "pasw");
mysql_select_db( "rank", $con );
$r = mysql_query("SELECT * FROM lib");
while ($keyword = mysql_fetch_row($r)) {
    $c = file_get_contents ('data/'.$keyword[0]);
    //if($c != ""){
    $regex = '/<td><font face=\"verdana,sans-serif\" size=1>&nbsp;(\d+?)<\/td>/';
    preg_match_all( $regex, $c, $matches);
    $regex2 = '/<td>&nbsp;<a href=\"(.+?)\"><font face=\"verdana,sans-serif\" size=1 color=(.+?)>(.+?)<\/a><\/td>/';
    preg_match_all( $regex2, $c, $matches2);

    $count = count($matches[1]);

    for($i=0;$i<$count;$i++)
    {
        mysql_query("INSERT INTO rank VALUES('".$matches2[3][$i]."',".$matches[1][$i].")");
    }
}

//}

Ja heb dus een tabel die alle engelse woorden bevat.
en een map met files die als naam dat engels woord hebben en html bevatten.
Heb deze er vroeger erin geplaatst.
Nu wil ik de gegevens die ik nodig heb uit die files halen.
~is voor een search engine onderzoek

[ Voor 10% gewijzigd door Verwijderd op 14-01-2004 20:30 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
http://be2.php.net/manual/en/function.mysql-data-seek.php
dit staat me niet aan:
Description
bool mysql_data_seek ( resource result_identifier, int row_number)

Acties:
  • 0 Henk 'm!

  • Tycoontje
  • Registratie: Februari 2003
  • Laatst online: 15-07 12:59
Verwijderd schreef op 14 januari 2004 @ 20:22:
http://be2.php.net/manual/en/function.mysql-data-seek.php
dit staat me niet aan:
Description
bool mysql_data_seek ( resource result_identifier, int row_number)
Die gebruik je toch niet?
Verwijderd schreef op 14 januari 2004 @ 19:05:
17900 * 2 ~ligt in de buurt van de maximum waarde voor een int.
(mss signed waarde ofzo :s) zou niet weten wat ik anders mis doe.
Euh... wat is volgens jou eigenlijk de maximum waarde?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ja is opgelost..
had ergens iets over het hoofd gezien |:(
anyways tx @ all voor quick reply's

[ Voor 12% gewijzigd door Verwijderd op 14-01-2004 20:52 ]

Pagina: 1