[opgelost] Ik krijg geen enkel record, ook al al staat het in de tabel
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
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
<?php
$servername = "localhost";
$username = "xxxxx";
$password = "xxxxx";
$dbname = "xxxxx";
$servername = "localhost";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//test met voorbeeld
$emailtest="[email protected]";
emailtest = trim($emailtest);
$sql = "SELECT * FROM salonkeuze WHERE emailadres='$emailtest' ";
//$sql = "SELECT * FROM salonkeuze WHERE emailadres='$emailtest' ";
$data = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($data);
$id = $row['voorkeur_id'];
echo $id;
?>
$servername = "localhost";
$username = "xxxxx";
$password = "xxxxx";
$dbname = "xxxxx";
$servername = "localhost";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//test met voorbeeld
$emailtest="[email protected]";
emailtest = trim($emailtest);
$sql = "SELECT * FROM salonkeuze WHERE emailadres='$emailtest' ";
//$sql = "SELECT * FROM salonkeuze WHERE emailadres='$emailtest' ";
$data = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($data);
$id = $row['voorkeur_id'];
echo $id;
?>
Gewijzigd op 08/05/2020 15:50:44 door Jan te Pas
Als je je foutmeldingen volledig openzet zou je dit al moeten opmerken.
Daarnaast is een foutafhandeling op je query geen overbodige luxe.
Gewijzigd op 06/05/2020 16:39:15 door - Ariën -
Code (php)
1
2
3
4
5
2
3
4
5
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
ini_set('display_startup_errors', true);
?>
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
ini_set('display_startup_errors', true);
?>
Op regel 18 mist sowieso een $ voor "emailtest".
Een makkelijke manier om te zien of je code het einde van het script wel haalt bij uitvoer is door simpelweg een markering aan het einde te zetten:
Ook controleer je niet of je query fout ging, in dat geval geeft mysqli_query() false terug.
Misschien is het ook een goede gewoonte om gewoon overal de object georienteerde variant te gaan gebruiken.
Gewijzigd op 06/05/2020 16:39:37 door Thomas van den Heuvel
@thomas, ik had dat moeten toevoegen. Ik heb al een error log geprobeerd. Krijg geen errors. Ik heb de inhoud nog gecontroleerd. Gevalletje veel tijd, weinig vooruit komen. Blijf even hikken...
Trouwens, niet dat het uitmaakt. Maar je hebt $servername dubbel staan.
@Ariën, dat heb jij goed gezien. Ik had nog snel een trim toegevoegd, omdat ik wilde uitsluiten een spatie te veel te gebruiken. Dubbel namen noemen is slordig...
Gaat het nu nog mis? Kijk of je query resultaten oplevert. Als je geen resultaten hebt: bestudeer de query verder. Controleer ook of je met de juiste database aan het praten bent en of je wel het goede PHP-bestand aan het aanroepen bent :p. Zet ondertussen ook ff koffie ;).
Toevoeging op 06/05/2020 18:27:23:
@thomas en @Ariën,
Ik ben er uit. Ik had emailadres op unique staan, dus 1 treffer is oke.
Daarmee ben ik even gaan stoeien en heb het aangepast. Hieronder de code die -gelukkig- werkt. Kopje koffie deed goed.
Dank jullie! De werkende code heb ik hieronder opgenomen.
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
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
<?php
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
$servername = "localhost";
$username = "xxxxxx";
$password = "xxxxxx";
$dbname = "xxxxxx";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//test met voorbeeld, voor zekerheid ook spaties weghalen
$emailtest="[email protected]";
$emailtest = trim($emailtest);
//maak de juiste query aan
$sql = "SELECT * FROM salonkeuze WHERE emailadres='$emailtest' ";
//even checken of query goed is, anders foutmelding
//if (!mysqli_query($conn, $sql)) {
//echo("Error description: " . mysqli_error($conn);
//}
//object georiënteerd dan maar gebruiken
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$id = $row['voorkeur_id'];
echo "====> ".$id;
}
//Nu record eventueel opdaten
} else {
//eventueel nu record toevoegen
echo "Niet aanwezig";
}
?>
[end]
[/code}
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
$servername = "localhost";
$username = "xxxxxx";
$password = "xxxxxx";
$dbname = "xxxxxx";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//test met voorbeeld, voor zekerheid ook spaties weghalen
$emailtest="[email protected]";
$emailtest = trim($emailtest);
//maak de juiste query aan
$sql = "SELECT * FROM salonkeuze WHERE emailadres='$emailtest' ";
//even checken of query goed is, anders foutmelding
//if (!mysqli_query($conn, $sql)) {
//echo("Error description: " . mysqli_error($conn);
//}
//object georiënteerd dan maar gebruiken
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$id = $row['voorkeur_id'];
echo "====> ".$id;
}
//Nu record eventueel opdaten
} else {
//eventueel nu record toevoegen
echo "Niet aanwezig";
}
?>
[end]
[/code}
Wist ik het maar. Alle fouten proberen af te vangen. Maar toch werkte het niet. Nu dus, via andere opzet, wel. Ik denk dat de webserver misschien toch iets anders serveert. Daarom maak ik eerst kleine testprocessen voordat ik iets integreer. Greetz