Een SELECT-query is niet afhankelijk van de PHP-versie. Mogelijk speelt er want anders, zoals een functie waarmee je jouw query opbouwt, die niet goed compatible is.
Ik raad aan om je script sowieso voor PHP 7.2 te testen, en daarna voor PHP 7.3.
Oke, dan zal ik weer naar query kijken en als ik het weer niet voor elkaar krijg om aan de praat te krijgen dan zal ik hier plaatsen zodat jullie mee kunnen kijken wat ik precies fout doe.
Waarschijnlijk gebruikte je nog mysql_* functies. Deze zijn echter deprecated (ondersteuning niet gegarandeerd) vanaf PHP 5.5.0 en verwijderd vanaf 7.0.0.
Dit stond al heel lang in de planning, dus als je het nieuws een beetje hebt gevolgd zou dit geen verrassing moeten zijn.
Als je kijkt op [php]mysqli_query[/php] en [php]mysqli_error[/php], dan zie je dat er bij mysqli_query een link- en een query-parameter is. Jij hebt in jouw code enkel de query-parameter. De link-parameter verwijst naar je connectie. En de query is de uit te voeren SQL-query.
Bij mysqli_error() is er een connectie-parameter nodig.
function db_connection($db_host,$db_naam,$db_gebruiker,$db_wachtwoord){
$conn = mysqli_connect("$db_host","$db_gebruiker","$db_wachtwoord","$db_naam") or die("Geen verbinding!");
mysqli_select_db($db_naam,$conn) or die (mysqli_connect_errno());
Met error reporting krijg ik dit te zien:
Warning: mysqli_select_db() expects parameter 1 to be mysqli
Wanneer regel 2 ($db_wachtwoord en $db_naam) omgedraaid is dan is er geen toegang.
Warning: mysqli_connect(): (28000/1045): Access denied for user
Als ik regel 3 ($db_naam en $conn) omdraai dan krijg ik dit te zien, maar dan wel alle tabelnamen onder error.
mysqli_query() expects at least 2 parameters
mysqli_error() expects exactly 1 parameter