Die mysqli_connect nicht funktioniert
Ich installiert apache, php und mysql. Wenn ich jetzt führen Sie den php-code, der mysqli_connect()
funktioniert nicht, weder es zeigt die Nachricht im sterben.
$dbc=mysqli_connect(' ', ' ', ' ', ' ') or die('not connecting');
Nun mir jemand sagen welche Datenbank-Benutzername darf ich pass auf mysqli_connect
und was Passwort. Ich kann mich nicht erinnern, ich wurde gebeten, für jede der Benutzername oder das Passwort
und warum ist das nicht die Botschaft in die()
angezeigt?
Meine var_dump(function_exists('mysqli_connect'));
Ausgänge bool(false).. wenn es irgendetwas damit zu tun hat, wie kann ich es korrigieren.?
Versuchen
"root"
als Benutzername und entweder null
als Passwort, oder etwas, das Sie eingegeben (Sie schrieb in den Kommentaren, die Sie eingegeben haben einige Passwort).InformationsquelleAutor Kraken | 2011-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht aus wie MySQLi-Erweiterung nicht installiert ist. Was bedeutet
var_dump(function_exists('mysqli_connect'));
Ausgang?Dann bist du eigentlich immer fatal error beim aufrufen
mysqli_connect()
, weil die Funktion nicht vorhanden ist. Wenn es Windows server, suchen Siephp.ini
- Datei und kommentieren Sieextension=php_mysqli.dll
Linie, dann den Apache neu starten. Damit soll der MySQLi-Erweiterung. Sehen Sie mehr über die Aktivierung/Installation mysqli @ lv.php.net/manual/en/mysqli.installation.phpwerde versuchen,.. vielen Dank.
ich habe es versucht, entfernt ; vor dem extensio=php_mysqli.dll aber noch ist es zu zeigen bool(false)
Hast du den apache neu starten?
InformationsquelleAutor binaryLV
Haben Sie
error_reporting(E_ALL);
Undini_set('display_errors',1);
?Könnte das problem irgendwo anders sein.
Auch, wie tun Sie wissen, dass es versagt, wenn es nicht priting die Nachricht in
Die()
?Ich bin kein Magier. :). Sowieso die Standardeinstellung ist root ohne Passwort
ich meine, während der Installation von mysql habe ich nicht gefragt, für anyusername, aber ich hab das Passwort eingeben, so wie weiß ich, welche Benutzernamen zu übergeben, in der Funktion mysqli_connect?
der Standardwert ist root
Verbinden Sie nicht als root! Erstellen Sie einen neuen Benutzernamen mit Privilegien, die nur einer Datenbank. Wenn Sie den root-Benutzer für die Verbindung zur Datenbank, keine Fehler ausgenutzt in Ihrer Anwendung erteilen kann ein Angreifer root-Zugriff auf die Datenbank, was bedeutet, ALLE Ihre Datenbanken ausgesetzt werden. Wenn Sie ein neuer Benutzer hat nur Zugriff auf die eine Datenbank, nur, dass die Datenbank ausgesetzt werden (ja, es saugt auch, aber auf eine inmensely Moll-Tonleiter)
InformationsquelleAutor dynamic
für den host, wenn Sie mit "localhost:8889",
versuchen Sie es mit "localhost", und im mysqli_connect () '8889' (oder welchen port Sie verwenden) als ein argument nach dem anderen Argumenten.
arbeitete für mich.
zB:
InformationsquelleAutor Daniel O'Leary
Wenn Sie keine Werte, ich denke MySQL ist mit den Standardeinstellungen aus der ini-Einstellungen. Also vielleicht ist dies auch passiert wenn Sie leere Werte. In diesem Fall wird die Verbindung eigentlich hergestellt werden, und das Ergebnis nicht 'sterben'. Beste Sache ist, zu verwenden
var_dump
zu überprüfen, was$dbc
enthält nach dem Aufruf und von dort aus weiter.Aber wie auch immer, es gibt keine Möglichkeit, PHP wird Ihnen sagen, welche Einstellungen Sie verwenden, wenn Sie sich nicht erinnern. 🙂
InformationsquelleAutor GolezTrol
Wenn man gerade mysql installiert, dann gibt es nur die
root
Benutzer ohne Kennwort (oder leer, wenn Sie bevorzugen). Sie werden dringend aufgefordert, dieses Kennwort zu ändern UND erstellen Sie einen neuen Benutzer und ein Kennwort für Ihre Anwendung, die hat nur Zugriff auf nur eine Datenbank, die eine, die Ihre Anwendung verwendet.Ändern
root
Passwort, können Sie dies tun:Verändert sich natürlich alle
your_*
Werte mit korrigieren.Für den Grund, warum die
die()
wird nicht ausgeführt, zu tun, was @yes123 und @binaryLV gesagt hatte (ich glaube beide sind richtig, diemysqli
nicht installiert ist, so wirft es einE_FATAL_ERROR
beim Aufrufmysqli_connect(...)
und alserror_reporting
deaktiviert ist (oder vielleichtdisplay_errors
oder vielleicht beide), sehen Sie nicht, dass Fehler.InformationsquelleAutor Carlos Campderrós
InformationsquelleAutor NomanJaved
Zuerst überprüfen Sie Ihre php-version
echo 'Aktuelle PHP-version:' . phpversion();exit;
wenn es mehr als 5.5 und auch nicht arbeiten
dann schreib das Skript in der php-Datei die phpinfo(INFO_MODULES);exit;
es zeigt alles über php und Mysqli check aufgeführt ist oder nicht. wenn nicht, dann informieren Sie auf unseren server admministrator oder wenn Sie Zugang haben, dann gehen Sie zu phpini-Datei und mysqli aktivieren (Semikolon entfernen)
InformationsquelleAutor Mohd Tauovir Khan
Versuchen Sie dies:
@
! Es ist das Schlimmste, was für die Fehlersuche. (2)mysql_*
ist nicht kompatibel mitmysqli_*
.InformationsquelleAutor C. Silva