Keine verbindung von php5 zu MySql 5

Alles, was PHP betrifft, kann hier besprochen werden.

Keine verbindung von php5 zu MySql 5

Postby gogomann » 24. January 2007 23:52

Hi an alle !

Ich hoffe das ich hier hilfe bekomme. Es ein gutes Bord aber diese Frage ist etwas knifflig.

Es ist so ich habe einen Win2k3 Server und dann habe ich den Apache 2.2 installiert. Das ging ohne probleme. PHP 5.2 ging auch mit fast ohne probleme. Ab jetzt ist es etwas eigendartig, denn die MySql habe ich auch installiert. So weit so gut !!!

Jetzt ist es aber was ich nicht verstehe ich habe einen Shop der auch unter dem XAMPP super geklappt hat . Geht auf dem Server nicht . Es scheint so als ob die php Seite keinen kontakt bekommt zur MySql. Die DB kann ich ereichen mit dem Gui von meinen Rechner zuhause. Ich verstehe es nicht was soll ich machen was habe ich falsch gemacht ???

Wenn jemand eine Idee hat dann her damit ! :D

grüsse gogomann
gogomann
 
Posts: 11
Joined: 24. January 2007 23:26

Postby Wiedmann » 25. January 2007 00:03

Es scheint so als ob die php Seite keinen kontakt bekommt zur MySql.

Was bedeutet: "Es scheint so"?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby gogomann » 25. January 2007 00:13

Es scheint nicht nur so !? Das ist vieleicht unglücklich geschrieben.

Ich habe grade noch den MSSQL ausgeschaltet aber auch hier wieder nichts. Es klappt immer noch nicht !

grüsse gogomann
gogomann
 
Posts: 11
Joined: 24. January 2007 23:26

Postby Wiedmann » 25. January 2007 00:26

Es scheint nicht nur so !?

Was dann? Bzw. was passiert (nicht)?

Die Verbindung von PHP zu MySQL allgemein, kannst du ja mit den simplen Beispielen aus dem PHP-Manual testen, wo du dann gegebenenfalls auch eine korrekte Fehlermeldung bekommst.

Oder wegen mir auch mit phpMyAdmin.

ich habe einen Shop

Was diesen jetzt speziell angeht, solltest du natürlich dessen Support fragen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby gogomann » 25. January 2007 10:44

Das blöde ist ich bekomme das phpmyadmin nicht instaliert

Ich habe den Ordner config geschaffen, aber das mit dem HTTPS da komme ich nicht mit klar solche fragen gab es bei dem iis nicht und dort ist der phpmyadmin ohne murren los gelaufen ....

den Shop ja dann müsste ich mich ja selber fragen ! Denn ich habe den aus vielen quellen zusammen geschustert. Aber er funzt. ja auf einen XAMPP Server aber nun jetzt auf dem Server nicht.

Etwas genauer die fehler meldung : Keine !!!

soll heisen das php die frage nicht versteht wenn es um die verbindung zur MySql geht. Sprich er über geht

Code: Select all
<?
$HOST     = "localhost";        // localhost ist bei vielen Hostern der Standardwert
$ID       = "root";            // Nutzer/User-ID für die Datenbank
$PW       = "pass";            // Passwort für die Datenbank
$DB       = "shop1";            // Datenbank-Name


$db_test = @mysql_connect($HOST,$ID,$PW);
if (!$db_test)
{
   echo "<b>Es konnte keine Verbindung zur Datenbank aufgebaut werden!</b><br>";
   echo "<b>Bitte versuchen Sie es später noch einmal!</b>";
   exit();
}
?>

das habe ich duch laufen lassen Ergebnis ist es konnte keine verbindung hergestell werden !!

kann das sein ... ich habe mein übliches zeichen <? ?> bei diesm test mit <?php ?> ersetzt und dann auch erst eine Richtige fehler meldung bekommen das es daran liegt ???

Wenn Ja "WIE" kann ich das "WO" einstellen um das zu ändern ??
:?
gogomann
 
Posts: 11
Joined: 24. January 2007 23:26

Postby Wiedmann » 25. January 2007 11:04

kann das sein ... ich habe mein übliches zeichen <? ?> bei diesm test mit <?php ?> ersetzt und dann auch erst eine Richtige fehler meldung bekommen das es daran liegt ???

Mit nimmt sowieso nur "<?php" ;-) (Allerdings hat dieses nichts mit der Anzeige von Fehlern zu tun.)

Code: Select all
$db_test = @mysql_connect($HOST,$ID,$PW);

Hatte ich nicht gesagt, du sollt ein Beispiel aus dem PHP-Manual nehmen?

Ein Testscript in dem du Fehlermeldungen unterdrückst ("@"), ist bei der Fehlersuche ziemlich Kontraproduktiv.

Code: Select all
if (!$db_test)
{
   echo "<b>Es konnte keine Verbindung zur Datenbank aufgebaut werden!</b><br>";

Das Anzeigen einer eigenen Fehlermeldug mag zwar hübsch sein, gescheiter ist es aber, hier die orginale MySQL Fehlermeldung zu zeigen.


Ergo:
Nimm jetzt einfach mal das simple und korrekte Beispielscript (Example 1)aus dem Manual zu mysql_connect().
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby gogomann » 25. January 2007 11:16

nach dem ich es mit dem Beispielcode ausprobiert habe kam folgende meldung
Keine Verbindung möglich: Unknown MySQL Server Host 'mysql_host' (11004)

und was soll ich damit nun anfangen ? :?:
gogomann
 
Posts: 11
Joined: 24. January 2007 23:26

Postby Wiedmann » 25. January 2007 11:23

Mit dem Example 1 aus dem Manual dürfte es genau diese Fehlermeldung nicht geben...

Dein Script muss jetzt also irgenwie anders aussehen als im Manual.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby gogomann » 25. January 2007 11:31

Code: Select all
<?php
/* Verbindung aufbauen, auswählen einer Datenbank */
$link = mysql_connect("mysql_host", "mysql_user", "mysql_password")
   or die("Keine Verbindung möglich: " . mysql_error());
echo "Verbindung zum Datenbankserver erfolgreich";
mysql_select_db("Meine_Datenbank") or die("Auswahl der Datenbank fehlgeschlagen");

/* ausführen einer SQL Anfrage */
$query = "SELECT * FROM Meine_Tabelle";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());

/* Ausgabe der Ergebnisse in HTML */
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   echo "\t<tr>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
}
echo "</table>\n";

/* Freigeben des Resultsets */
mysql_free_result($result);

/* schliessen der Verbinung */
mysql_close($link);
?>

das ist der Code aus dem http://de.php.net/manual/de/ref.mysql.php
Online portal habe
gogomann
 
Posts: 11
Joined: 24. January 2007 23:26

Postby Wiedmann » 25. January 2007 11:46

a)

Wiedmann wrote:Nimm jetzt einfach mal das simple und korrekte Beispielscript (Example 1)aus dem Manual zu mysql_connect().

Das wäre dann dieses:
http://de.php.net/manual/en/function.my ... #AEN116215

b)
geht deines natürlich auch.
$link = mysql_connect("mysql_host", "mysql_user", "mysql_password")
...
mysql_select_db("Meine_Datenbank") or die("Auswahl der Datenbank fehlgeschlagen");
...
$query = "SELECT * FROM Meine_Tabelle";
...

Muss man diese Werte natürlich entsprechend deinen Gegebenheiten anpassen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby gogomann » 25. January 2007 12:20

Hi Wiedmann !

ich habe das aus dem Exsample1 genohmen aber das selbe !! Mal wieder solch ein mist auch !

Was soll ich
Could not connect: Bad handshake
bei dieser meldung machen die istz nicht wirklich aussagekräüftig

grüsse gogomann
gogomann
 
Posts: 11
Joined: 24. January 2007 23:26

Postby Wiedmann » 25. January 2007 12:29

Could not connect: Bad handshake

Die MySQL-Extension die du in PHP hast, passt nicht zur MySQL-Server Version (oder greift auf eine falsche MySQL-Client DLL zu).
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby gogomann » 25. January 2007 13:03

Hi Wiedmann !

OK das kann verstehen, aber wie kann ich das ändern ??
Denn ich habe jeweils den Installer genutzt auf einen "frischem" System !

Wenn ich das richtig verstanden habe ist einer dieser beiden dafür zu ständig
;extension=php_mysql.dll
;extension=php_mysqli.dll
:cry:

Wie kann ich das ändern ???

Meine Daten Win 2003 64bit
Apache 2.2
PHP 5.2
MySql 5.0.27

Gibs da probleme mit der zusamen arbeit von einer der Komponenten oder mit allen zusammen ??
gogomann
 
Posts: 11
Joined: 24. January 2007 23:26

Postby Wiedmann » 25. January 2007 13:20

Denn ich habe jeweils den Installer genutzt auf einen "frischem" System !

Nun. Ich hab keine Ahnung was die Installer jeweils machen...

Wenn ich das richtig verstanden habe ist einer dieser beiden dafür zu ständig
Code: Select all
;extension=php_mysql.dll

Hier musst du das Semikolon wegmachen. Da aber diese Extension bei dir geladen wird, wird wohl eine andere "php.ini" benutzt...

PHP 5.2
MySql 5.0.27

a)
Als erstes würde ich den aktuellen Connector von MySQL für PHP runterladen:
http://dev.mysql.com/get/Downloads/Conn ... /from/pick

b)
Die Datei "php_mysql.dll" in deinem PHP-Extension Directory überschreibst du mit der gleichnamigen Datei aus diesem Zip.

c)
Jetzt suchst du auf deinem System nach Dateien mit dem Namen "libmysql.dll" und ersetzt diese mit der gleichnamigen Datei aus dem Zip.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby gogomann » 25. January 2007 13:51

Hi Wiedmann !

Ich habe nach der such an verschieden stellen diese "libmysql.dll" gefunden welche davon soll ich denn ersetzen ?

Leider kommt die frage etwas spät denn ich habe es an allen stellen gemacht . So ist das wenn man denkt !

Den Test von vorhin habe ich noch mal gemacht und es kommt keine meldung und in meiner phpinfo steht jetzt nicht mehr MySql sondern mysqli.

Leider gibst nicht mal eine "Connected successfully" vom Test ! :cry:

muss ich auf etwas achten ?

PS.: Ich muss jetzt wohl überall anstatt mysql jetzt mysqli schreiben oder ?
gogomann
 
Posts: 11
Joined: 24. January 2007 23:26

Next

Return to PHP

Who is online

Users browsing this forum: No registered users and 14 guests