Is er een resultaten limiet?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

The One

The One

03/01/2012 09:44:29
Quote Anchor link
Hallo, als ik een query uitvoer op mijn website dat een paar honderd records teruggeeft, krijg ik een blanco pagina. Als ik met dezelfde query minder records opvraag, werkt het wel. Is er een limiet en hoeveel is dit? Is deze limiet te vergroten?

Ben benieuwd!
 
PHP hulp

PHP hulp

27/11/2024 08:10:54
 
Aad B

Aad B

03/01/2012 09:45:59
Quote Anchor link
er is geen limiet maar er zal vast iets fout gaan in je programmacode. Zet foutmeldingen aan en je weet het zo.
Bovenin je script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
?>
Gewijzigd op 03/01/2012 09:48:27 door Aad B
 
Kris Peeters

Kris Peeters

03/01/2012 10:33:10
Quote Anchor link
Er is een limiet op de verwerkingstijd van php.
Er is ook een limiet op het (gealloceerd) geheugen voor php.

Het kan aan 1 van deze dingen liggen, maar volg vooral de raad van de poster boven mij.

.. en als je er niet uit raakt, copy/paste dan de error die je op het scherm krijgt
Gewijzigd op 03/01/2012 10:35:40 door Kris Peeters
 
Herman van Ree

Herman van Ree

03/01/2012 14:59:31
Quote Anchor link
The One op 03/01/2012 09:44:29:
Hallo, als ik een query uitvoer op mijn website dat een paar honderd records teruggeeft, krijg ik een blanco pagina. Als ik met dezelfde query minder records opvraag, werkt het wel.


Dat is dan per definitie niet dezelfde query :-)

Hoe zien die 2 queries er uit?
 
The One

The One

03/01/2012 22:29:09
Quote Anchor link
Het gaat wel om 1 query, het vreemde is dat het lange tijd wel gewerkt heeft, sinds een paar dagen werkt de query niet meer voor lange teksten.

Het gaat om een boek met verschillende hoofdstukken die ik wil tonen, zie code hieronder. Ik gebruik het in joomla.

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
$url
= $_SERVER['PHP_SELF'];
$hoofdstuknr = $_GET["hoofdstuk"];
if ($hoofdstuknr=="") $hoofdstuknr=1;

$query = "SELECT * FROM boek WHERE hoofdstuk=$hoofdstuknr ORDER BY hoofdstuk, nr";
//$aantal = mysql_num_rows($query) or die(mysql_error());
$resultaat = mysql_query($query) or die(mysql_error());
?>

<div style='background: transparent url(media/images/qframetop3.png) no-repeat top left; height:80px; margin:0; padding:0;'></div>

<div style='width:690px; background: transparent url(media/images/qframemiddle3.png) repeat-y top left; font-size:14px; font-weight: bold; text-align:left; margin:0; padding:0;'><div style='margin:0; padding:0px 30px 0px 30px;'>
<form name="boek" method="post" action="">
<center>
<select name="hoofdstuknr" id="hoofdstuknr" class="button">
<option value="1">Hoofdstuk 1</option>
<option value="2">Hoofdstuk 2</option>
<option value="3">Hoofdstuk 3</option>
<option value="4">Hoofdstuk 4</option>
</select>
<script type="text/javascript">
document.getElementById('hoofdstuknr').selectedIndex=
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $hoofdstuknr; ?>
-1;
</script>
<input type="button" class="button" value="Select" onclick="javascript:location.href='index.php?option=com_content&view=article&id=305&hoofdstuk='+document.getElementById('hoofdstuknr').options[document.getElementById('hoofdstuknr').selectedIndex].value;" />
</center>
</form>
<p><img style='vertical-align:middle;' src='media/images/qframerule3.png'></p>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
while($data = mysql_fetch_array($resultaat)){
echo "<div style='padding-top:10px;'>(".$data['hoofdstuk'].":".$data['nr'].") ".$data['tekst']."</div>";
}

echo "</div></div><div style='background: transparent url(media/images/qframebottom3.png) no-repeat top left; height:80px; margin:0; padding:0;'></div>";
?>


Ik heb de error aangezet en krijg et volgende te zien, maar dit staat volgens mij los van mijn query, want bij de korte hoofdstukken krijg ik deze melding ook te zien, maar krijg ik wel de juiste tekst te zien, maar bij een lange hoofdstuk krijg ik nog steeds een blanco pagina zonder error oid.
Quote:
Notice: Could not connect to server in /var/customers/webs/website/plugins/content/jumi.php(69) : eval()'d code on line 88


Toevoeging op 03/01/2012 22:51:05:

De laatste error is nu opgelost, maar dat lost het probleem niet op, ik krijg nog steeds een lege pagina te zien..

Toevoeging op 03/01/2012 23:39:28:

Kris Peeters op 03/01/2012 10:33:10:
Er is een limiet op de verwerkingstijd van php.
Er is ook een limiet op het (gealloceerd) geheugen voor php.

Het kan aan 1 van deze dingen liggen, maar volg vooral de raad van de poster boven mij.

.. en als je er niet uit raakt, copy/paste dan de error die je op het scherm krijgt



Waar vind ik deze limieten?

Toevoeging op 03/01/2012 23:53:46:

De site is trwns wel overgezet naar een nieuwe server, maar vlgns mijn host zijn er geen instellingen veranderd...
Gewijzigd op 03/01/2012 22:31:21 door The One
 
The One

The One

05/01/2012 08:48:17
Quote Anchor link
Als ik een limit toevoeg van 100 gaat het wel goed.. :s

$query = "SELECT * FROM boek WHERE hoofdstuk=$hoofdstuknr ORDER BY hoofdstuk, nr LIMIT 100";

Iemand?
 
Erwin H

Erwin H

05/01/2012 09:41:00
Quote Anchor link
Het antwoord is denk ik al aangedragen en ik denk dat dit daar een bevestiging van is. Alleen waarom je de errors niet krijgt is vreemd.
Maar je kan controleren of tijd en/of geheugen een probleem is door dit in je script uit te breiden. Pas wel op met deze functies, want als je er veel gebruik van maakt kan je in problemen komen met de resources op je server, maar dat is jouw verantwoordelijkheid uiteraard.

Met set_time_limit() kan je de executietijd uitbreiden (standaard gelimiteerd op 30 seconden volgens mij).
Met ini_set('memory_limit','xxM') kan je het maximale geheugen aanpassen.
 
The One

The One

05/01/2012 18:23:54
Quote Anchor link
et werkt niet, ik krijg de volgende melding

Quote:
Warning: set_time_limit(): Cannot set time limit in safe mode in /var/customers/webs/website/plugins/content/jumi.php(69) : eval()'d code on line 5


Maar is het niet vreemd dat het zomaar veranderd is? Het heeft altijd gewerkt..

Nog andere mogelijkheden?

Toevoeging op 06/01/2012 08:05:59:

Mijn provider geeft aan dat de memory_limit al op 1024M staat..
 
The One

The One

08/01/2012 09:09:51
Quote Anchor link
Ik geef de hoop op..
 
Erwin H

Erwin H

09/01/2012 00:16:24
Quote Anchor link
The One op 05/01/2012 18:23:54:
Quote:
Warning: set_time_limit(): Cannot set time limit in safe mode in /var/customers/webs/website/plugins/content/jumi.php(69) : eval()'d code on line 5

waarom draait php in safe mode? Miischien moet je je provider dat nog even vragen. Geen idee of het dit probleem veroorzaakt, maar helemaal lekker is het in geen geval.
 
The One

The One

11/01/2012 22:53:11
Quote Anchor link
Geen idee wat safe mode precies inhoudt??
Et is trwns niet meer nodig, ik heb al een andere manier gevonden dat wel werkt, nl et boek als txt bestand inlezen en middels XML een mooi structuur van gemaakt. Dan maar zonder sql..

Maar toch nog bedankt allemaal voor et meedenken?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.