Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PHP Umstellung mysql connect

Frage Entwicklung PHP

Mitglied: DPiegza

DPiegza (Level 1) - Jetzt verbinden

21.11.2014 um 08:09 Uhr, 2404 Aufrufe, 7 Kommentare

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;
}
Mitglied: opalka
21.11.2014 um 09:11 Uhr
Hallo,

was spricht dagegen, einfach mysql_connect gegen mysqli_connect auszutauschen?

Gruß
Bitte warten ..
Mitglied: DPiegza
21.11.2014, aktualisiert um 10:13 Uhr
Bekomme jz folgendes:
Warning: mysqli_connect(): (HY000/2002): Connection refused in /homepages/25/d68722908/htdocs/xtc_modified_COM/inc/xtc_db_connect.inc.php on line 24
Unable to connect to database server!

neuer Code:
<?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);
}

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 warten ..
Mitglied: opalka
21.11.2014 um 10:21 Uhr
Verbindungsdaten sind korrekt gesetzt? Sprichst du den Server über localhost:3306 oder einer anderen Adresse?
Bitte warten ..
Mitglied: DPiegza
21.11.2014 um 10:31 Uhr
über localhost
Bitte warten ..
Mitglied: Gersen
21.11.2014, aktualisiert um 11:09 Uhr
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...
Bitte warten ..
Mitglied: opalka
21.11.2014, aktualisiert um 11:17 Uhr
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?

01.
  
02.
<?php 
03.
  function xtc_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link'
04.
05.
    global $$link
06.
     
07.
    if (USE_PCONNECT == 'true')  
08.
09.
      $$link = mysqli_pconnect($server, $username, $password); 
10.
    }  
11.
    else  
12.
13.
      $$link = mysqli_connect($server, $username, $password); 
14.
15.
 
16.
    $vers = @mysqli_get_server_info(); 
17.
 
18.
    if(substr($vers, 0, 1) <= 4) @mysqli_query("SET SESSION sql_mode='MYSQL40'"); // <= anstatt > 
19.
    if(substr($vers, 0, 1) > 4) @mysqli_query("SET SESSION sql_mode=''"); 
20.
 
21.
    if ($$link) mysqli_select_db($database); 
22.
 
23.
    if ($$link
24.
25.
      @mysqli_select_db($database) or die('Database not available'); 
26.
27.
     
28.
    return $$link
29.
30.
?> 
31.
 
Bitte warten ..
Mitglied: 16568
21.11.2014 um 21:44 Uhr
Leute, vergeßt es.

Der Threadstarter soll gefälligst dein Shopsystem aktualisieren, dann erledigt sich das von ganz alleine...


Lonesome Walker
Bitte warten ..
Ähnliche Inhalte
PHP
PHP MySQL Login
Frage von YanmaiPHP7 Kommentare

Hallo ihr Administratoren, ich habe eine Datenbank, in der alle User des Netzwerkes enthalten sind. Wenn ein User sich ...

PHP
MySQL in PHP mit Variablen
gelöst Frage von carl7nPHP10 Kommentare

Hallo, ich habe PHP-Grundkenntnisse, schaffe es aber nicht, nach meinen Vorstellungen ein paar kleine PHP-Scripts zusammen arbeiten zu lassen. ...

Datenbanken
Eine Art Access, nur mit PHP und MySQL?
gelöst Frage von McLionDatenbanken14 Kommentare

Hallo, gibt es eine Art wie Microsoft Access, nur auf PHP und MySQL aufbauend? OpenSource wäre noch schöner. Danke!

PHP
PHP MySQL Abfrage aus Datenbank
Frage von Lost144PHP12 Kommentare

Hallo, Ich habe in einer Datenbank daten über VM's stehen. Angaben wie hostname,adresse, serverat usw. Wie kann ich in ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...