ik heb een paar tuts gelezen over het het verschil van mysql en mysqli

nu wou ik de verandering gaan doorvoeren wou starten met een simpele connectie
maar hier krijg ik een fout melding gerelateerd aan mijn ??intern ip adres??


<?php
Fout bij verbinden met database: Access denied for user 'username'@'192.168.0.1' (using password: YES) in /volume1/web/gema/_admin_gema/admin/entrance/login.inc.php on line 17
?>

het script (copy paste vanuit de tut)

<?php
$username = "*****";
$password = "*****";
$host = "**.myds.me";
$database = "**";


/*toegang mysql oude manier 
$toegang = mysql_connect("$host","$username","$password");
//toegang DB
mysql_select_db("$database",$toegang)  or die("Oops een klein technisch probleem: geen verbinding maken met Database");
*/
//mysqli nieuwe manier
$link = mysqli_connect("$dns", "username", "$password", "$database");
if(!$link)
{
    trigger_error('Fout bij verbinden met database: '.mysqli_connect_error());
}
?>


wat doe ik fout
Op regel 5 mist een "...

Je gebruikt mysql_connect. Niet doen: ga voor mysqli_connect().
Kijk eens naar de kleurtjes in je code. Die twee // horen niet na je /*

@Eddy: Dat zag ik weer over het hoofd, maar die comment is ook erg vreemd.
ik had mijn bestaande login script effen tussen /* */ gezet voor die niet te laten uit voeren
om dat ik de mysqli connect wou testen.

maar nu krijg ik een fout met de mysqli connect


die missende " is corrigeerd
Chris Bosmans op 15/11/2015 14:40:11

maar nu krijg ik een fout met de mysqli connect


Wat voor? Met 'een fout' kunnen we weinig, gezien dat van alles kan zijn.
het 1ste code veld staat de fout

<?php
Fout bij verbinden met database: Access denied for user 'username'@'192.168.0.1' (using password: YES) in /volume1/web/gema/_admin_gema/admin/entrance/login.inc.php on line 17
?>


dit is een werkend script via mysql dus wat is er verandert of waar moet ik op letten met die mysqli
Kijk eens in phpinfo() naar je default_host instelling van MySQL, waarschijnlijk is de database-server op je productie omgeving actief op een andere (interne) host (op dat netwerk).

De syntax is: mysqli_connect(<host>, <username>, <password>, <database>);

In je code hierboven staat $dns - deze is niet gedefinieerd? Zet het melden + weergeven van fouten eens aan bij ontwikkelen...

Daarnaast kun je beter voor de object georienteerde aanpak gaan.

En je doet er verstandig aan meteen de goede character encoding in te stellen bij het maken van een connectie met de daarvoor bestemde functie/methode.
Dezelfde fout als eerst dus. $dns komt nergens vandaan, dit moet $host zijn.

Verder horen variabelen niet tussen " te staan.
de $dns is hetzelfde als de $host

ik heb nog een klein missing $ bij de Username,

dit was de issue
had deze altijd over hoofd gezien

connectie is gemaakt

TOPIC can be closed
Fijn dat het opgelost is, het topic zal vanzelf wel naar beneden zinken.

Reageren