php fout
alleen als ik de gegevens invoer krijg ik een melding met:
Er is niets gevonden op jou zoekterm:
zoek opnieuw
zouden jullie mij hiermee willen helpen.
de gegevens die ik heb zijn :
resultaat.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
error_reporting(0);
//-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
if (!@mysql_select_db("music", @mysql_connect("localhost", "root", "")))
{
echo "Er kan geen database connectie gemaakt worden.";
exit();
}
//-- $HTTP_POST_VARS[zoekterm] is de naam van het zoekveld in het formulier wat we
//-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:
$sql = "SELECT Opera,Componist,Aria,Stemtype,Taal FROM opera WHERE tekst LIKE '%$HTTP_POST_VARS[zoekterm]%'";
//-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
//-- kijken of er een resultaat is
$res = mysql_query($sql);
//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
if (mysql_num_rows($res) >= 1)
{
//-- er is een resultaat gevonden, toon de resultaten via een while () loop
while ($row = mysql_fetch_array($res))
{
echo "<p>Resultaat Opera: <b>$row[Opera]</b><br>";
echo "Resultaat Componist: <b>$row[Componist]</b></p>";
echo "Resultaat Aria: <b>$row[Aria]</b></p>";
echo "Resultaat Stemtype: <b>$row[Stemtype]</b></p>";
echo "Resultaat Taal: <b>$row[Taal]</b></p>";
}
echo "<a href=\"zoek.php\" title=\"zoek opnieuw\">zoek opnieuw</a>";
}
//-- als er geen resultaat is gevonden, dus als het zoekwoord niet gevonden is:
else
{
echo "<p>Er is niets gevonden op jou zoekterm:<b> $HTTP_POST_VARS[zoekterm]</b></p>";
echo "<p><a href=\"zoek.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
}
?>
error_reporting(0);
//-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
if (!@mysql_select_db("music", @mysql_connect("localhost", "root", "")))
{
echo "Er kan geen database connectie gemaakt worden.";
exit();
}
//-- $HTTP_POST_VARS[zoekterm] is de naam van het zoekveld in het formulier wat we
//-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:
$sql = "SELECT Opera,Componist,Aria,Stemtype,Taal FROM opera WHERE tekst LIKE '%$HTTP_POST_VARS[zoekterm]%'";
//-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
//-- kijken of er een resultaat is
$res = mysql_query($sql);
//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
if (mysql_num_rows($res) >= 1)
{
//-- er is een resultaat gevonden, toon de resultaten via een while () loop
while ($row = mysql_fetch_array($res))
{
echo "<p>Resultaat Opera: <b>$row[Opera]</b><br>";
echo "Resultaat Componist: <b>$row[Componist]</b></p>";
echo "Resultaat Aria: <b>$row[Aria]</b></p>";
echo "Resultaat Stemtype: <b>$row[Stemtype]</b></p>";
echo "Resultaat Taal: <b>$row[Taal]</b></p>";
}
echo "<a href=\"zoek.php\" title=\"zoek opnieuw\">zoek opnieuw</a>";
}
//-- als er geen resultaat is gevonden, dus als het zoekwoord niet gevonden is:
else
{
echo "<p>Er is niets gevonden op jou zoekterm:<b> $HTTP_POST_VARS[zoekterm]</b></p>";
echo "<p><a href=\"zoek.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
}
?>
ooh heb ik een formulier gemaakt die per record kan zoeken:
zoek.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
<title>Records zoeken</title>
</head>
<body>
<h2>U kunt hier zoeken op verschillende velden:</h2>
<form action="resultaat.php" method="post">
<input type="text" name="trefwoord" value="" size="30"><br>
<input type="Radio" name="zoeken" value="Opera"> Opera
<input type="Radio" name="zoeken" value="Componist"> Componist
<input type="Radio" name="zoeken" value="Aria"> Aria
<input type="Radio" name="zoeken" value="Stemtype"> Stemtype
<input type="Radio" name="zoeken" value="Taal"> Taal
<hr>
<input type="Submit" value="Zoeken">
<input type="Button" value="Terug" onclick="javascript:history.back();">
</form>
</body>
</html>
<head>
<title>Records zoeken</title>
</head>
<body>
<h2>U kunt hier zoeken op verschillende velden:</h2>
<form action="resultaat.php" method="post">
<input type="text" name="trefwoord" value="" size="30"><br>
<input type="Radio" name="zoeken" value="Opera"> Opera
<input type="Radio" name="zoeken" value="Componist"> Componist
<input type="Radio" name="zoeken" value="Aria"> Aria
<input type="Radio" name="zoeken" value="Stemtype"> Stemtype
<input type="Radio" name="zoeken" value="Taal"> Taal
<hr>
<input type="Submit" value="Zoeken">
<input type="Button" value="Terug" onclick="javascript:history.back();">
</form>
</body>
</html>
Graag in het vervolg bij code, [code] [/code] tags gebruiken. [/modedit]
Gewijzigd op 17/02/2011 18:52:07 door Bas IJzelendoorn
mysql_select_db("music", @mysql_connect("localhost", "root", ""))or die(mysql_error())
en haal de !@ weg, en maak die
if(!empty(mysql_error()){
foutmelding
}
or die() is nooit een goede oplossing...
wel voor het bekijken van eventuele onopgeloste niet zichtbare fouten,
Kevin Newesil op 17/02/2011 18:57:32:
wel voor het bekijken van eventuele onopgeloste niet zichtbare fouten,
Nooit
Je kan werken met een if else structuur voor foutmeldingen.
Gewijzigd op 17/02/2011 18:58:28 door Jasper DS
dan ook niet. Je wilt je script nooit laten 'sterven' als er iets fout gaat.
niet op een website neej, maar als je database posts niet werken kan je in je offline server kijken waar de fout zit om die zodoende op te kunnen lossen voor de online webpagina. tenslotte draait het om een fout eruit te halen en niet om de mooiheid van het script.
Kevin Newesil op 17/02/2011 18:59:31:
niet op een website neej, maar als je database posts niet werken kan je in je offline server kijken waar de fout zit om die zodoende op te kunnen lossen voor de online webpagina. tenslotte draait het om een fout eruit te halen en niet om de mooiheid van het script.
Een server is nooit offline, dan is er geen verbinding.
Als geen verbinding met de database kon worden gemaakt, niet de juiste tabel worden geselecteerd, de query niet goed uitgevoerd kon worden, of wat dan ook. Dan is die nog steeds niet nodig. Je kunt gewoon een if / else structuur gebruiken. Ook bij debuggen.
Als je dat nu toepast hoef je later niet zoveel aan te passen.
het is gelukt, ik heb het hele script anders geschreven!!