PHP 5.3.5-1 Verbindung zu MySQL-DB auf localhost, Ubuntu 11.04
versucht mein erstes kleines PHP-Skript, um eine Verbindung zu einer lokalen mySql-Datenbank und habe ein paar Probleme. Ich verwendet ein cookie-cutter-Skript aus dem net gehen und bin mit einigen Fragen. Um zu Debuggen, so weit alle ich getan habe, ist Platz echo-Anweisungen vor und nach der Zeile wo ich die Verbindung zu der Datenbank und bemerkte, dass es ein problem mit der Verbindung-Anweisung.
Hier ist der code, den ich verwende, genommen wortwörtlich von W3Schools:
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br />";
}
mysql_close($con);
?>
Natürlich habe ich die Passwörter geändert und alle, und verifiziert, dass ich eine Verbindung zu der Datenbank von dem mysql-Kommandozeilen-Werkzeug.
Irgendwelche Tipps würde sehr geschätzt werden.
Hier ist das log unter: /var/log/mysql/error.melden Sie
Version: '5.1.54-1ubuntu4' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
110727 1:38:22 [Note] /usr/sbin/mysqld: Normal shutdown
110727 1:38:22 [Note] Event Scheduler: Purging the queue. 0 events
110727 1:38:23 InnoDB: Starting shutdown...
110727 1:38:25 InnoDB: Shutdown completed; log sequence number 0 15895194
110727 1:38:25 [Note] /usr/sbin/mysqld: Shutdown complete
110727 14:08:56 [Note] Plugin 'FEDERATED' is disabled.
110727 14:08:56 InnoDB: Initializing buffer pool, size = 8.0M
110727 14:08:56 InnoDB: Completed initialization of buffer pool
110727 14:08:57 InnoDB: Started; log sequence number 0 15895194
110727 14:08:58 [Note] Event Scheduler: Loaded 0 events
110727 14:08:58 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.54-1ubuntu4' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
SO Lerne ich nicht, wie man eine sinnvolle debugging-Informationen von PHP Dank @nix, fügen Sie die folgenden Zeilen an die Spitze der php-Datei:
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
Keine Fehlermeldung wird angezeigt, leider... wie kann ich erzwingen, PHP, mir zu zeigen, Fehler?
Wie haben Sie bemerkt, gab es ein problem mit der Verbindung-Anweisung dann?
suchen Sie im mysql-log.
durch das werfen in eine echo-Anweisung vor dieser Zeile: $con = mysql_connect("localhost","peter","abc123"); und nach dieser Zeile habe ich beobachtet, dass nur einer der Ausgänge gemacht, also muss das Skript unterbrochen worden an die Linie.
InformationsquelleAutor Bnjmn | 2011-07-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut. versuchen Sie einen Neustart der mysql-daemon:
versuchen Sie eine Verbindung zu mysql von der Kommandozeile mit
und
Auch - prüfen, ob die genaue Fehlermeldung, die Sie bekommen, in:
oder
P. S. dein code bei mir funktioniert.
UPDATE:
So im Ende, wie es sich herausstellt - mysqli war disabled in PHP. Problem gelöst.:)
+1; wenn es eine Antwort auf diese Frage, dann sieht es ungefähr so aus.
Neu gestartet, den service, die gleichen unglücklichen Ergebnis.
Posten Sie den Inhalt von /etc/mysql/my.cnf-Datei auf pastie.org so können wir einen Blick
href="http://pastie.org/2281042" >pastie.org/2281042
InformationsquelleAutor ThatGuy
Also, es stellt sich heraus, dass die php5-mysql-Bibliothek nicht installiert wurde.
das ist es!
Dank @nix für die Betreuung von diesem.
error_reporting(-1);
nächste mal.Wenn Sie nie benutzt PHP vor; erstellen der php Datei mit diesem Inhalt: <?php echo phpinfo();?> Wenn Sie es öffnen im browser - Sie werden sehen, eine Menge von Informationen über Ihre PHP-Installation. Sie werden in der Lage sein, um leicht festzustellen, ob die erforderlichen Erweiterungen installiert sind.
InformationsquelleAutor Bnjmn