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 ?
<!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 ?
- 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);
?>
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.