Foutmeldingen
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'
|
<?php
mail("info@sitemasters.be", "$_POST['Onderwerp']", "$_POST['bericht']");
?> |
Bij dit voorbeeld zal PHP deze foutmelding weergeven. Namelijk omdat variabelen buiten quotes moeten geplaatst worden ! Volgende code zal juist werken:
<?php
mail("info@sitemasters.be", $_POST['Onderwerp'], $_POST['bericht']);
?> |
|
Warning: Cannot [...] - headers already sent
|
Deze foutmelding komt te voorschijn wanneer je na een HTML output een header/cookie/session verstuurd naar de gebruiker. Men kan dit oplossen op twee manieren:
- Je plaats de headers/cookies/session bovenaan de pagina en je roept ze wanneer nodig op.
Voorbeeld:
<?php
if (isset($_POST['Loguit'])) {
/* Code */
header ("location: loguit.php");
}
?>
Hier volgt dan een formulier met een Submit knop met als naam "Loguit". |
- Je plaats helemaal bovenaan de volgende code: <?php ob_start(); ?>. Hierdoor zullen er geen foutmeldingen weergegeven worden.
Als je de laatste manier toepast kan je de headers/cookies/sessions overal plaatsen. |
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
|
<?php
$query = mysql_query('SELECT * FROM Tabel WHERE Veld=Tekst');
while($rij = mysql_fetch_array($query))
{
/* Code...*/
}
?> |
PHP geeft een error omdat de SQL query is mislukt. Een probleem kan zijn dat er quotes verkeerd/te weinig/te veel zijn geplaatst of wanneer je de functie mysql_query() bent vergeten toe te passen. Bij dit voorbeeld zijn de quotes rond "Tekst" vergeten.
Als je het probleem niet vindt kan je het volgende doen:
<?php
$query = mysql_query('SELECT * FROM Tabel WHERE Veld=Tekst');
if (empty($query)) {
trigger_error('mySQL ERROR ('.mysql_errno().'): '.mysql_error(),E_USER_ERROR);
}
while($rij = mysql_fetch_array($query)) {
/* Code...*/
}
?> |
Wanneer de SQL query is mislukt zal het script stoppen en vertellen wat de fout is en op welke lijn de fout zich bevindt. |
|
|