PHP Umstellung mysql connect
Hallo zusammen.
Ich bekomme immer diese Fehlermeldung / Warnung:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /homepages/25/d68722908/htdocs/xtc_modified_COM/inc/xtc_db_connect.inc.php on line 24
Der Befehl der diesen verursacht ist der Befehl $$link = mysql_connect(...);
Ich weiß das es an der Umstellung zur neuen PHP-Version liegt, bekomme den Code aber nicht richtig geändert. Kann mir jemand eine korrekte Lösung zeigen, Anbei der aktuelle Code:
function xtc_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link') {
global $$link;
if (USE_PCONNECT == 'true') {
$$link = mysql_pconnect($server, $username, $password);
} else {
$$link = mysql_connect($server, $username, $password);
}
BOF - Dokuman - 2009-09-02 - Disable "STRICT" mode for MySQL 5!
$vers = @mysql_get_server_info();
BOF - vr - 2010-01-01 - Disable "STRICT" mode for MySQL 5!
if(substr($vers,0,1) > 4) @mysql_query("SET SESSION sql_mode='MYSQL40'");
if(substr($vers, 0, 1) > 4) @mysql_query("SET SESSION sql_mode=''");
EOF - vr - 2010-01-01 - Disable "STRICT" mode for MySQL 5!
EOF - Dokuman - 2009-09-02 - Disable "STRICT" mode for MySQL 5!
BOF - Dokuman - 2009-05-27 - revised database connection
if ($$link) mysql_select_db($database);
if ($$link) {
@mysql_select_db($database) or die('Database not available');
}
EOF - Dokuman - 2009-05-27 - revised database connection
return $$link;
}
Ich bekomme immer diese Fehlermeldung / Warnung:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /homepages/25/d68722908/htdocs/xtc_modified_COM/inc/xtc_db_connect.inc.php on line 24
Der Befehl der diesen verursacht ist der Befehl $$link = mysql_connect(...);
Ich weiß das es an der Umstellung zur neuen PHP-Version liegt, bekomme den Code aber nicht richtig geändert. Kann mir jemand eine korrekte Lösung zeigen, Anbei der aktuelle Code:
function xtc_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link') {
global $$link;
if (USE_PCONNECT == 'true') {
$$link = mysql_pconnect($server, $username, $password);
} else {
$$link = mysql_connect($server, $username, $password);
}
BOF - Dokuman - 2009-09-02 - Disable "STRICT" mode for MySQL 5!
$vers = @mysql_get_server_info();
BOF - vr - 2010-01-01 - Disable "STRICT" mode for MySQL 5!
if(substr($vers,0,1) > 4) @mysql_query("SET SESSION sql_mode='MYSQL40'");
if(substr($vers, 0, 1) > 4) @mysql_query("SET SESSION sql_mode=''");
EOF - vr - 2010-01-01 - Disable "STRICT" mode for MySQL 5!
EOF - Dokuman - 2009-09-02 - Disable "STRICT" mode for MySQL 5!
BOF - Dokuman - 2009-05-27 - revised database connection
if ($$link) mysql_select_db($database);
if ($$link) {
@mysql_select_db($database) or die('Database not available');
}
EOF - Dokuman - 2009-05-27 - revised database connection
return $$link;
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 255493
Url: https://administrator.de/contentid/255493
Ausgedruckt am: 26.11.2024 um 15:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
ganz so trivial scheint mir die Lösung nicht zu sein. Wenn Du mit mysqli_connect anfängst, musst Du auch mit mysqli_query, mysqli_get_server_info und mysqli_select_db weitermachen - und jedes Mal die ggf. geänderte Syntax beachten. Im schlimmsten Fall kann sich das durch die ganze Anwendung ziehen.
Es gibt wohl auch Konvertierungs-Tools.
Gruß,
Gersen
PS: Es wäre vielleicht gut, wenn Du zum Posten des PHP-Codes die entsprechenden Code-Tags verwenden könntest. Es erleichtert das Lesen enorm...
ganz so trivial scheint mir die Lösung nicht zu sein. Wenn Du mit mysqli_connect anfängst, musst Du auch mit mysqli_query, mysqli_get_server_info und mysqli_select_db weitermachen - und jedes Mal die ggf. geänderte Syntax beachten. Im schlimmsten Fall kann sich das durch die ganze Anwendung ziehen.
Es gibt wohl auch Konvertierungs-Tools.
Gruß,
Gersen
PS: Es wäre vielleicht gut, wenn Du zum Posten des PHP-Codes die entsprechenden Code-Tags verwenden könntest. Es erleichtert das Lesen enorm...
Wie @Gersen schon schrieb, es muss natürlich dann auch überall mysql_xxx gegen mysqli_xxx ausgetauscht werden. Und kann es sein, dass es bei meiner Zeile 18 "<=" und nicht ">" heissen muss?
<?php
function xtc_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link')
{
global $$link;
if (USE_PCONNECT == 'true')
{
$$link = mysqli_pconnect($server, $username, $password);
}
else
{
$$link = mysqli_connect($server, $username, $password);
}
$vers = @mysqli_get_server_info();
if(substr($vers, 0, 1) <= 4) @mysqli_query("SET SESSION sql_mode='MYSQL40'"); // <= anstatt >
if(substr($vers, 0, 1) > 4) @mysqli_query("SET SESSION sql_mode=''");
if ($$link) mysqli_select_db($database);
if ($$link)
{
@mysqli_select_db($database) or die('Database not available');
}
return $$link;
}
?>
Leute, vergeßt es.
Der Threadstarter soll gefälligst dein Shopsystem aktualisieren, dann erledigt sich das von ganz alleine...
Lonesome Walker
Der Threadstarter soll gefälligst dein Shopsystem aktualisieren, dann erledigt sich das von ganz alleine...
Lonesome Walker