Fout in mijn code
Ik ben een beginner in PHP, en probeer reeds enkele dagen om mijn script werkende te krijgen. Maar ik raak maar niet voorbij een fout in een stuk code om mijn databank te bevragen.
Krijg steeds volgende melding:
Er zou dus een accolade (of bracket) te weinig staan in de code. Het If statement op lijn 21 zou dus niet afgesloten zijn. Ik dacht dat dit het geval was op lijn 47 ? Of niet?
Dank bij voorbaat om mij op weg te helpen.
Krijg steeds volgende melding:
Er zou dus een accolade (of bracket) te weinig staan in de code. Het If statement op lijn 21 zou dus niet afgesloten zijn. Ik dacht dat dit het geval was op lijn 47 ? Of niet?
Dank bij voorbaat om mij op weg te helpen.
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
43
44
45
46
47
48
49
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
43
44
45
46
47
48
49
<?php
$servername = "******";
$username = "******";
$password = "******";
$dbname = "******";
// Maak de verbinding
$conn = new mysql($servername, $username, $password, $dbname);
// Controleer de verbinding
if ($conn->connect_error) {
//breek de code hier af als de verbinding mislukt
die("Verbinding met de databank is mislukt: " . $conn->connect_error);
}
//selecteer alle rijen van de tabel 'overlijdensberichten'
$sql = "select * FROM overlijdensberichten";
//bewaar het resultaat van de zoekopdracht
$result = $conn->query($sql);
//als het aantal rijen groter is dan 0, zet de rijen dan om in HTML
if ($result->num_rows > 0) {
//php afsluiten om rechtstreeks html te schrijven
?>
<table>
<tr>
<th>Familienaam</th>
<th>Voornaam</th>
<th>Geboortedatum</th>
<th>Overlijdensdatum</th>
</tr>
<?
// maak een "loop" door alle rijen
while($row = $result->fetch_assoc()) {
?>
<tr><td><?echo $row["ob_familienaam"];?></td>
<td><?echo $row["ob_voornaam"];?></td>
<td><?echo $row["ob_geboortedatum"];?></td>
<td><?echo $row["ob_overlijdensdatum"];?></td>
</tr>
}
</table>
<?
} else {
//Er staan geen artikels/rijen in de databank
echo "Geen artikels gevonden in de databank";
}
$conn->close();
?>
$servername = "******";
$username = "******";
$password = "******";
$dbname = "******";
// Maak de verbinding
$conn = new mysql($servername, $username, $password, $dbname);
// Controleer de verbinding
if ($conn->connect_error) {
//breek de code hier af als de verbinding mislukt
die("Verbinding met de databank is mislukt: " . $conn->connect_error);
}
//selecteer alle rijen van de tabel 'overlijdensberichten'
$sql = "select * FROM overlijdensberichten";
//bewaar het resultaat van de zoekopdracht
$result = $conn->query($sql);
//als het aantal rijen groter is dan 0, zet de rijen dan om in HTML
if ($result->num_rows > 0) {
//php afsluiten om rechtstreeks html te schrijven
?>
<table>
<tr>
<th>Familienaam</th>
<th>Voornaam</th>
<th>Geboortedatum</th>
<th>Overlijdensdatum</th>
</tr>
<?
// maak een "loop" door alle rijen
while($row = $result->fetch_assoc()) {
?>
<tr><td><?echo $row["ob_familienaam"];?></td>
<td><?echo $row["ob_voornaam"];?></td>
<td><?echo $row["ob_geboortedatum"];?></td>
<td><?echo $row["ob_overlijdensdatum"];?></td>
</tr>
}
</table>
<?
} else {
//Er staan geen artikels/rijen in de databank
echo "Geen artikels gevonden in de databank";
}
$conn->close();
?>
De sluit accolade op regel 41 staat niet in PHP code (maar gewoon in een stuk HTML - dus daar kijkt PHP niet naar). Maak van regel 41
Hartelijk dank Rob - Gelukt!
Gebruik mysqli commando's mysql, zonder i, zal bij vele providers niet meer werken
Hartelijk dank voor de tip;
Jan R op 10/11/2021 11:27:04:
Gebruik mysqli commando's mysql, zonder i, zal bij vele providers niet meer werken
Voor zover ik weet waren de oude mysql-functies nooit object-georienteerd zoals ik in dit script zie. Misschien heeft de schrijver van het script wel een extend gebouwd op een class die 'mysql' genoemd wordt. ;-)
Geen probleem verder.
let er ook op dat je naast <¿php ook de korte php-tags gebruikt: <¿
Deze worden niet door elke server herkend.
Daarmee wordt dan ook niet herkend als een afsluitenden }
Deze worden niet door elke server herkend.
Daarmee wordt dan ook niet herkend als een afsluitenden }
Om korter te schrijven kun je ook gebruiken




