MySQLi deed goed bij versie 5.5/5.6 maar vanaf 7.0/7.1 deed het raar met oproepen van quary.
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.
Huh.... Stond er niet wat anders voor die edit? Ik meen dat je aangaf dat je in een aantal tussen-versies problemen had.
@Thomas ik wist wel dat bepaalde dingen weg zouden gaan maar echt volgen deed ik niet en vooral de laatste tijden niet.

@Arën dat klopt ik wilde gewoon korter maken nadat je antwoord gaf dan dacht ik ook meteen dat topic met verkeerde zinnen was begonnen.

Er zijn twee Warnings:

Warning: mysqli_query() expects at least 2 parameters, 1 given

Warning: mysqli_error() expects exactly 1 parameter, 0 given

Fout komt door onderstaande stukje

	$Resultaat = mysqli_query($Query) or die("Fout door selecteren van Query ".$Query.". mysqli_error());
if($Resultaat){	
	$ResultaatS = array();
while($ResultS1 = mysqli_fetch_assoc($Resultaat))
	$ResultaatS[] = $ResultaatS1;
return
	$ResultaatS;
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.
Morgen zal ik vervangen door connectie-parameter.
Niet vervangen, maar toevoegen! ;-)

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
Waarom in regel 3 de database (onjuist) selecteren als je dat in regel 2 al hebt gedaan?

Reageren