Goedenmorgen.

Ik ben in net bezig met MySQL.

Steeds als er ergens in een script mysql afgesloten wordt,
krijg ik de melding "de verbinding werd geherinitialiseerd"
en krijg ik de pagina of eventuele errors en notices niet te zien.

Als ik mysql_close() weglaat, laadt de pagina wel zoals het hoort.
Kan iemand mij vertellen wat er aan hand is ?

Alvast bedankt.

krijg ik de pagina of eventuele errors en notices niet te zien

Wanneer wel dan? Want als je mysql_close gebruikt dan laad hij zoals het hoort ? Wat meer informatie kan geen kwaad dus ;)

- Plaats errors
- Plaats relevante code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
   <title>View My Blog</title>
</head>
<body>
<?php // Script 12.7 - view_blog.php
// This script retrieves blog entries from the database.

// Connect and select:
$dbc = mysql_connect('localhost', 'root', '******');
mysql_select_db('myblog');

// Define the query:
$query = 'SELECT * FROM entries ORDER BY date_entered DESC';
if ($r = mysql_query($query)) { // Run the query
   
   // Retrieve and echo every record:
   while ($row = mysql_fetch_array($r)) {
      echo "<p><h3>{$row['title']}</h3>
      {$row['entry']}<br />
      <a href=\"edit_entry.php?id={$row['entry_id']}\">Edit</a>
      <a href\"delete_entry.php?id={$row['entry_id']}\">Delete</a>
      </p><hr />\n";
   }
} else { // Query didn't run.
   echo '<p style="color:red;">Could not retrieve the data because:
   <br />' . mysql_error() . '</p>
   <p>The query being run was: '. $query . '</p>';
   
} // End of query IF.

mysql_close(); // Close the database connection.
?>   
</body>
</html>


[size=xsmall]Toevoeging op 29/12/2010 09:59:05:[/size]

Het gaat erom dat mn pagina meteen weer afgesloten wordt,
als er ergens in het script, mysql_close() staat.

Ik krijg de pagina dus nooit te zien.

[size=xsmall]Toevoeging op 29/12/2010 10:05:46:[/size]

Zou ik hier een IF statement moeten gebruiken,
en een submit button, zodat mysql gesloten wordt op het moment dat,
er ge-submit wordt ?
Waarom zou je database connectie willen sluiten?

Overigens:

- PHP moet je boven je HTML zetten, en gewoon html & php gescheiden houden
- Foutenafhandeling ontbreekt
- Selecteer wat je wilt hebben gebruik geen *
- mysql_fetch_array kan je in dit geval gewoon het beste in mysql_fetch_assoc veranderen, is een stuk sneller.
- Variabelen buiten de quotes
Bedankt voor de uitleg,
maar dit is niet mijn script , dit is een lesboek.

Ik ben echt net een paar uur bezig met mysql en snap niet waarom
m'n pagina geherinitialiseerd wordt (en dus niet getoond) als
er mysql close() in het script staat.

Als ik mysql_close() weglaat ,krijg ik m'n pagina WEL te zien en kan ik het editen.

Mijn vraag is dus:
Is het normaal dat ik m'n pagina niet te zien krijg als mysql afgesloten wordt,
OF is het een instelling in een ini die ik moet veranderen ?
Maakt opzich niet uit, het is de basis van een goed script ;)

Maar goed, jouw probleem. Naar mijn weten hoort het te werken, maar goed zet dit eens bovenaan je script.
<?php
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
?>
Ik heb standaard errors ALL en strict aan staan.

Ik krijg nog steeds de melding:
"de verbinding met de server werd geherinitialiseerd
tijdens het laden van de pagina."

Deze melding krijg ik NIET als ik mysql niet afsluit aan het einde van het script,
En kan ik de pagina gewoon gebruiken.

(Misschien handig om te melden dat ik WAMP gebruik en alles lokaal draai)
Ok :) Nogmaals, mysql_close is nergens voor nodig. Maar verwerk mijn punten eens die ik hier boven heb gegeven, en plaats dan nogmaals je code.
Ga ik doen,

[vraagje]
mysql wordt dus vanzelf beeindigd als de pagina verlaten wordt?
Oh, ik herinner me ineens dat er een bug was in php met mysql_close. je gebruikt zeker php 5.3? Oplossing was gewoon je resource meegeven. Jouw geval dus dbc.
Klopt ik heb PHP 5.3,

en ik begrijp niet echt wat je bedoeld met resource meegeven,
maar dat kan ik zelf wel vinden denk ik.

(Ik wil niet ALLES moeten vragen op het forum, alleen als ik er ECHT niet uitkom)

Heel erg bedankt voor de hulp, ik ga kijken of ik iets kan vinden over de bug.

Reageren