mysql-Datenbankanbindung unter php7

Jasmin1024

Ensign
Registriert
Mai 2019
Beiträge
175
Salut!

Hatte unter php 5.x folgende funktionierende Syntayx für meine Datenbankanbindung -jetzt auf php 7.2.19 getestet, aber funktioniert nicht mehr:

$config_path = '/forum/'; // path to config.php
$root_path = 'http://www.hierstehtdiedomain.de/forum/'; // link path
$path = dirname(FILE);
include_once($path.$config_path .'config.php');
mysqli_connect($dbhost, $dbuser, $dbpasswd) OR die('Unable to select server.');
mysqli_select_db($dbname) OR die('Unable to select database.'); //dies ist die Zeile 93

Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in /databaserequest.php on line 93
Unable to select database.


was habe ich bisher geändert?
ich hatte nur das i bei beiden mysql Befehlen ergänzt, also aus mysql jeweils mysqli gemacht

irgendwie stimmt etwas noch nicht
 
Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in /databaserequest.php on line 93
Unable to select database.


das steht da ziemlich genau :)
 
  • Gefällt mir
Reaktionen: Jasmin1024 und rg88
Bagbag schrieb:
Ach, warum sollte man sich die Muehe machen und a) Fehlermeldung lesen (und verstehen) and b) dann noch in die Docs zu sehen ... fuer viele ist die API Dokumentation wohl nur noch ein virtueller Briefbeschwerer.

Gehen wir gleich noch nen Schritt weiter und posten die ungetestete, stupide auf Docs basierenden "Loesungsvorschlag" (formatiert als Quellcode, ja das geht heutzutage ...):
PHP:
$config_path = '/forum/'; // path to config.php
$root_path = 'http://www.hierstehtdiedomain.de/forum/'; // link path
$path = dirname(FILE);
include_once($path.$config_path .'config.php');
$link = mysqli_connect($dbhost, $dbuser, $dbpasswd) OR die('Unable to select server.');
mysqli_select_db($link, $dbname) OR die('Unable to select database.'); //dies ist die Zeile 93

kein Anspruch auf Vollstaendigkeit und Funktion hier ...

Mal abgesehen davon, man koennte auch gleich
PHP:
mysqli_connect($dbhost, $dbuser, $dbpasswd, $dbname)
machen, die andere Methode ist eher zum wechseln gedacht. Sagen die Docs mir
 
  • Gefällt mir
Reaktionen: Jasmin1024 und snaxilian
danke - hab nun die Datenbank mit Connect anbinden können,
das myscli_select weggelassen und alle 4 Parameter an die myscli_connect übergeben

jetzt muss ich noch 2 Fehlermeldungen der gleichen Art ändern mit der mysqli_query und myslqi_error
glaube ich komme da aber nicht weiter,
weiß nicht, was ich da bei mir ändern soll


Code:
$result = mysqli_query($sql);
if( !$result )
{
   die('SQL Statement Error: '. mysqli_error());
   exit();
}

$sql ist ein ewig langer SELECT - Befehl, da hat sich ja nichts geändert, ist ja sql und kein php
mir geht es nur um eine kleine Abfrage auf php7 Kompatibilität zu bringen,
möchte daher hier fragen und nicht selbst lange auf PHP Seiten-Dokus suchen,
die ich eh nur zur Hälfte verstehe
Meine Programmiertätigkeit ist unorthodox, ich programmiere mit Codeschnipseln,
die ich nicht unbedingt alle verstehe, sorry dafür.
https://www.php.net/manual/de/mysqli.query.php
 
Schau dir das Beispiel in der Doku an oder denke darüber nach was die Lösungen für die gleiche Fehlermeldung sein könnte?! 🤨
 
Hab es jetzt hinbekommen (hätte ich aber gestern nicht mehr geschafft-grins) aber jetzt mit freiem Kopf


Code:
if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", mysqli_num_rows($result));

hier werden ja für query nochmal neben dem der Suchabfrage die Datenbankanbindung (Parameter link)
übergeben, das ist in meinem Code nicht so:

Code:
$result = mysqli_query($sql)

hier wird nur die Suchabfrage übergeben, ich habe also mit

Code:
$databaseconnect = mysqli_connect($dbhost, $dbuser, $dbpasswd, $dbname);

nochmal die DB angebunden und dann den Parameter $databaseconnect mit übergeben:


$result = mysqli_query($databaseconnect, $sql);
if( !$result )
{
die('SQL Statement Error: '. mysqli_error());
exit();
}
Code:

jetzt wird meine Tabelle in php7 wieder angezeigt wie unter php5.x !

hab ich alles richtig gemacht?
an der mysqli_error habe ich nichts geändert, obwohl vorher da auch eine Fehlermeldung kam,
aber jetzt kam da keine mehr, hat sich evt. mit der Fehlerbeseitigung bei mysqli_query miterledigt


Offtopic:
im BBC Code hier gibt es ja auch </<code, damit der Programmcode wie in notepad++ dargestellt wird,
aber schade finde ich, dass dieser BBCode unter einer Listbox versteckt ist, ich hatte ihn daher erst nicht
gefunden, er müsste oben in der ersten Zeile stehen, so muss ich immer 2 mal clicken,
brauche ich in diesem Forum ja ständig eigentlich, finde ich wichtiger als zum Beispiel
den BBCode für ein Smiley oder Unterstrichen, die in der ersten Reihe direkt erreichbar stehen mit einem Click
 
Zurück
Oben