query werkt wel in phpmyadmin en niet in php
SELECT *
FROM `kaartleggingen_2016a`
WHERE `IPadres` = '86.86.157.44'
Maar neem ik deze query op in een php-script, dan krijg ik een - overigens weinig zeggende - foutmelding:
Fout in query: SELECT * FROM 'kaartleggingen_2016a' WHERE `IPadres` = '86.86.157.44'
Wie heeft enig idee hoe ik dit probleem kan oplossen?
mysql_error() of een moderne variant daarvan?
zou zo maar kunnen dat hij dan klaagt over een error near ''kaart....
omdat je quotes om de tabelnaam hebt gezet
- De quotes om kaartleggingen_2016a moeten of weg, of door "backticks" (meestal boven de {tab} toets) worden vervangen.
- Is de quote achter het IP-adres wel een echte (single) quote (zie er een beetje apart uit - misschien gekopieerd vanuit Word oid)?
Gewijzigd op 03/12/2019 22:18:27 door Rob Doemaarwat
Toevoeging op 04/12/2019 08:22:14:
En als ik er een foutmelding bij doe, wordt het:
Error description: Fout in query: SELECT * FROM kaartleggingen_2016a WHERE IPadres = '86.86.157.44'
Als je kiest voor een weinig zeggende foutmelding als "er gaat iets mis", dan kun je daar weinig mee. De syntax lijkt goed, maar het kan zo maar zijn, dat er fouten in de hoofdletters van de tabelnaam zitten, de tabel niet bestaat of de kolom niet bestaat.
Kan ook zijn dat de user geen rechten heeft op die tabel, of dat je sowieso al met een verkeerde (of geen) database verbonden bent.
Kortom: gebruik (bij het ontwikkelen) de foutmelding die de database je geeft.
Bedoel je zoiets als: echo("Error description: " . mysqli_error($sql));
of iets anders?
Waarbij $sql dan je connection is he. Niet de query.
dus iets als
Code (php)
evnetueel aangevuld met de query zelf. Maar dat alles alleen als je nog niet in productie bent met je site.
Dat levert bij mij alleen de tekst op: "query fout: ". De mysqli_error($sql) wordt dus niet getoond.
Het is een beetje een onhandige gekozen variabele, maar Ivo zegt het goed.
Gewijzigd op 04/12/2019 22:38:39 door - Ariën -
Toevoeging op 04/12/2019 22:47:27:
Voor de volledigheid de volledige code (zonder de inloggegevens):
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
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
<?php
$conn = mysqli_connect($dbhost1, $dbuser1, $dbpass1, $dbname1);
mysqli_set_charset($conn, "utf8");
// Check connection
if (mysqli_connect_errno())
{
echo "Verbinding met MySQL mislukt: " . mysqli_connect_error();
} else {
// alles is gelukt, voer hier de rest uit.
echo "Verbinding OK";
echo "<br>";
//Ip-adres
$ipAdres = $_SERVER["REMOTE_ADDR"];
//today
$date = date("Y-m-d");
echo $date;
echo "<br>";
$tijd = date("H:i:s");
echo $tijd;
echo "<br>";
$uur = date("H");
$minuut = date("i");
echo $uur;
echo "<br>";
echo $minuut;
echo "<br>";
echo "<br>";
$query = "SELECT * FROM kaartleggingen_2016a WHERE IPadres = '86.86.157.44'";
if(!$res = mysqli_query($conn, $query)) {
echo 'query fout: '. mysqli_error($conn);
}
}
?>
$conn = mysqli_connect($dbhost1, $dbuser1, $dbpass1, $dbname1);
mysqli_set_charset($conn, "utf8");
// Check connection
if (mysqli_connect_errno())
{
echo "Verbinding met MySQL mislukt: " . mysqli_connect_error();
} else {
// alles is gelukt, voer hier de rest uit.
echo "Verbinding OK";
echo "<br>";
//Ip-adres
$ipAdres = $_SERVER["REMOTE_ADDR"];
//today
$date = date("Y-m-d");
echo $date;
echo "<br>";
$tijd = date("H:i:s");
echo $tijd;
echo "<br>";
$uur = date("H");
$minuut = date("i");
echo $uur;
echo "<br>";
echo $minuut;
echo "<br>";
echo "<br>";
$query = "SELECT * FROM kaartleggingen_2016a WHERE IPadres = '86.86.157.44'";
if(!$res = mysqli_query($conn, $query)) {
echo 'query fout: '. mysqli_error($conn);
}
}
?>
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 04/12/2019 22:52:02 door - Ariën -
Logisch, want ik zie nergens iets met een mysqli_fetch_assoc(), waarmee je de data ophaalt.
Ariën, bedankt voor de tip. Zoals je al door had, heb ik niet veel ervaring met programmeren in PHP. Maar nu werkt de query. Nogmaals bedankt en ook Ivo.