Door
Harry H Arends
op 04-07-2017 20:08
gewijzigd op 04-07-2017 20:34
2.810 views
Mijn provider heeft na jaren wachten de gebruikte php ver geupdate.
Nu krijg ik deze foutmelding:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/harry-arends.nl/public_html/event/datacon.php on line 16
en op regel 6 staat:
$dblink=MYSQL_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword) OR DIE("Could not connect to database server:".mysql_error()."<br>");
Kan iemand mij begrijpelijk uitleggen hpoe ik dit op kan losssen.
Ter info: Dit is MySQLi met OO (Object Georiënteerd). Dit is te herkennen aan het pijltje.
Je kan ook de procedurele versie gebruiken van mysqli, en dat is het toevoegen van een 'i' en bij diverse functies een extra argument.
Ikzelf raad de OO-versie aan, omdat deze beter schaalbaar is. Je kan ook centrale foutafhandeling bouwen bijvoorbeeld.
Bedankt voor het antwoord.
De ene foutmelding opgelost, een andere erbij. Dit is de code om te MySql te connecten:
<?php
$MySqlHostname = "localhost";
$MySqlDatabase = "****";
if($_SERVER['SERVER_NAME']=="eibergen02"){
$MySqlUsername = "****";
$MySqlPassword = "****";
}else{
$MySqlUsername = "***";
$MySqlPassword = "*****";
}
//echo $MySqlUsername."/".$MySqlPassword."<br>";
/* make connection to database */
/* If no connection made, display error Message */
$dblink=MYSQLI_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword, $MySqlDatabase) OR DIE("Could not connect to database server:".mysql_error()."<br>");
/* Select the database name to be used or else print error message if unsuccessful*/
//@mysql_select_db("$MySqlDatabase") OR DIE ("Could not select database".mysql_error()."<br>");
$result = mysqli_query( "SET NAMES 'utf8'", $MySqlDatabase );
if ( $result === false )
{
echo '<p>De karakterset voor de verbinding kon niet op UTF-8 worden gezet. Melden aan Administrator</p>';
}
else
{
// echo '<p>De karakterset voor de verbinding is succesvol op UTF-8 gezet</p>';
}
?>
door een hersenbeschadiging na mijn CVA raak ik snel het overzicht kwijt
En mis ik veel wat voor anderen logisch is.
Bedankt voor het antwoord.
De ene foutmelding opgelost, een andere erbij. Dit is de code om te MySql te connecten:
<?php
$MySqlHostname = "localhost";
$MySqlDatabase = "harryare";
if($_SERVER['SERVER_NAME']=="eibergen02"){
$MySqlUsername = "root";
$MySqlPassword = "geheim";
}else{
$MySqlUsername = "geheim";
$MySqlPassword = "geheim";
}
//echo $MySqlUsername."/".$MySqlPassword."<br>";
/* make connection to database */
/* If no connection made, display error Message */
$dblink=MYSQLI_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword, $MySqlDatabase) OR DIE("Could not connect to database server:".mysql_error()."<br>");
/* Select the database name to be used or else print error message if unsuccessful*/
//@mysql_select_db("$MySqlDatabase") OR DIE ("Could not select database".mysql_error()."<br>");
$result = mysqli_query( "SET NAMES 'utf8'", $MySqlDatabase );
if ( $result === false )
{
echo '<p>De karakterset voor de verbinding kon niet op UTF-8 worden gezet. Melden aan Administrator</p>';
}
else
{
// echo '<p>De karakterset voor de verbinding is succesvol op UTF-8 gezet</p>';
}
?>
door een hersenbeschadiging na mijn CVA raak ik snel het overzicht kwijt
En mis ik veel wat voor anderen logisch is.
<?php
$result = mysqli_query($dblink, "SET NAMES 'utf8'");
?>
werkt ongetwijfeld beter.
Nog beter zou zijn:
<?php
$result = mysqli_set_charset($dblink, 'utf8');
?>
Dan is de client library ook op de hoogte van je bedoelingen.