mysql laeuft nicht mehr

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

mysql laeuft nicht mehr

Postby heinetz » 03. June 2005 23:43

hallo forum,

ich habe zur zeit ein schwerwiegendes problem. ich bin seit einiger
zeit dabei, einen winxp-rechner neu aufzusetzen. heute heb ich abschliessend ein neues xampp installiert. das funktioniert auch alles sehr
gut.

jetzt habe ich eben versucht eine umfangreiche webanwendung wieder
zu reaktivieren. der apache macht seinen job. jetzt habe ich angefangen, ueber phpmyadmin die dazugehoerige db wieder aufzusetzen. sprich: von einem phpmyadmin, dass zu der liveanwendung gehoert alles als *sql zu exportieren und mit dem phpmyadmin meiner entwicklungsumgebung zu importieren. auch das hat geklappt. mein phpmyadmin zeigt mir eine vernuenftige vollstaendige db an. was allerdings nicht klappt, ist dass die website die db nicht auslesen kann.

dazu folgender code:
------------------------
$mysql_site = "localhost";
$mysql_username = '';
$mysql_password = '';
$dbName = 'db83512752';

$connection_result = mysql_connect($mysql_site, $mysql_username, $mysql_password);
$statement_structure = "SELECT * FROM ".$table." ORDER BY id"
$result_structure = mysql($dbName, $statement_structure);
$field_structure_num = mysql_num_rows($result_structure);
-------------------------

-->Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in

wenn ich allerdings das $statement_structure mit echo ausgeben lasse,
das dann im phpmyadmin ausfuehren lasse, gibt's ein vernuenftiges resultset. das $connection_result ist 1. komischerweise, denn ich kann
den $mysql_username aendern, wie ich will???

absolute ratlosigkeit.

hat irgendwer ne idee?

tausend dank,
viele gruesse,
martin

ps. ich bin ueber ein feld 'Kollation' gefallen, dass ich noch nicht kannte.
und das es auf dem liveserver (also ddort, von wo aus ich die db exportiere) macht das ein problem???
heinetz
 
Posts: 88
Joined: 02. January 2004 12:37

Postby Wiedmann » 04. June 2005 11:07

$mysql_site = "localhost";
$mysql_username = '';
$mysql_password = '';
$dbName = 'db83512752';

Diese Daten können schon mal nicht funktinieren, weil du zumindest einen Benutzer angeben musst (Bei einer XAMPP Standardinstall "root").

$result_structure = mysql($dbName, $statement_structure);

Was soll das für eine Funktion sein (möglicherweise mysql_db_query?)? Jedenfalls solltest du da eine Fehlerauswertung machen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby heinetz » 04. June 2005 12:19

$mysql_site = "localhost";
$mysql_username = '';
$mysql_password = '';
$dbName = 'db83512752';

Diese Daten können schon mal nicht funktinieren, weil du zumindest einen Benutzer angeben musst (Bei einer XAMPP Standardinstall "root").


Genau das merkwuerdige Phaenomen hatte ich ja auch beschrieben:

das $connection_result ist 1. komischerweise, denn ich kann
den $mysql_username aendern, wie ich will???


Die Funktion mysql() ist tatsaechlich nirgendwo dokumentiert. jedenfalls hat sie die letzten 8 jahre das gemacht, was sie sollte. scheint bei php5 rausgeflogen zu sein ;(

sprich:

ich muss das komplette projekt updaten, oder ein aelteres xampp besorgen.

gruesse,
martin
heinetz
 
Posts: 88
Joined: 02. January 2004 12:37

Postby Wiedmann » 04. June 2005 12:27

Genau das merkwuerdige Phaenomen hatte ich ja auch beschrieben:

Naja. "Jeder" kann sich beim XAMPP auch verbinden, aber "Jeder" kann nur die DB `test` benutzen. Bleibt jetzt immer noch die Frage, warum du keine korrekten Benutzer beim Verbinden benutzt?

Die Funktion mysql() ist tatsaechlich nirgendwo dokumentiert. jedenfalls hat sie die letzten 8 jahre das gemacht, was sie sollte. scheint bei php5 rausgeflogen zu sein ;(

mysql() war noch nie eine PHP-Funktion. Wenn das funktioniert, dann gibt es irgendwo in dem Script eine User-Function mit diesem Namen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby heinetz » 04. June 2005 13:20

Bleibt jetzt immer noch die Frage, warum du keine korrekten Benutzer beim Verbinden benutzt?


tatsache ist,

1. dass ich mich mit eben dieser db mit dem benutzer '' verbinden kann.
(das connection_result ist 1).
2. dass sich daran auch nichts durch verwendung des benutzers 'root'
veraendert und ich dennoch kein result aus mysql() erhalte.

mysql() war noch nie eine PHP-Funktion. Wenn das funktioniert, dann gibt es irgendwo in dem Script eine User-Function mit diesem Namen.


tatsache ist ausserdem, dass es nirgendwo in dem script eine userdef. function mysql() gibt und mysql() die letzten 8 jahre funktioniert hat.
das weiss ich deshalb so genau, weil

exakt die gleiche anwendung zur zeit auf drei verschiedenen
maschinen laeuft und sie funktioniert auf zweien davon.

1. die liveanwendung laeuft auf einer linux-maschine,
2. meine alte testumgebung ist ein w2k-server,
und auf beiden systemen laeuft php 4.3.10.

die testumgebung, die ich gerade eingerichtet habe, ist eine xp-kiste
mit php5 und da funktionierts nicht. eben darum bin ich hier.

trotzdem danke, dass du dich damit auseinandersetzt ;)

gruesse,
martin
heinetz
 
Posts: 88
Joined: 02. January 2004 12:37

Postby Wiedmann » 04. June 2005 13:36

1. dass ich mich mit eben dieser db mit dem benutzer '' verbinden kann.
(das connection_result ist 1).

Falsch. Das "connection_result" bezieht sich auf den Server und nicht auf eine Datenbank.

2. dass sich daran auch nichts durch verwendung des benutzers 'root'
veraendert und ich dennoch kein result aus mysql() erhalte.

s.u. (BTW: du solltest da auf jedenfall einen gültigen User reinschreiben mit korrektem Passwort).

tatsache ist ausserdem, dass es nirgendwo in dem script eine userdef. function mysql() gibt und mysql() die letzten 8 jahre funktioniert hat.

Wetten... (es sei denn du hättest dich beim Aptippen des Codes vertan.). Jedenfalls, ohne korrekte Fehlerbehandlung in dem Code wird es schwierig.
- Also such die Stelle wo tatsächlich der Query abgesetzt wird.
- setzt den error_level hoch und lass dir Meldungen ausgeben bzw. in ein Log schreiben.

2. meine alte testumgebung ist ein w2k-server,
und auf beiden systemen laeuft php 4.3.10.

Du hättest ja auch beim XAMPP die Möglichkeit mit PHP4 zu arbeiten, wenn dies vom Script vorausgesetzt wird.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby heinetz » 04. June 2005 13:57

damit das ein ende hat:

ich habe eben ein altes xampp installiert. die seite laeuft problemlos.
aber daraus gelernt habe ich auch, was bei einer umstellung auf php5
auf mich zukommt.

aber dass du auf die user-definierte function bestehst, kann ich nicht
nachvollziehen. ich weiss nicht, wo sie definiert sein koennte, wenn meine
php-seite aus 10 zeilen besteht.

hau rein,

schoenes wochenende,
martin
heinetz
 
Posts: 88
Joined: 02. January 2004 12:37

Postby Wiedmann » 04. June 2005 14:08

aber dass du auf die user-definierte function bestehst, kann ich nicht
nachvollziehen. ich weiss nicht, wo sie definiert sein koennte, wenn meine
php-seite aus 10 zeilen besteht.

Erfahrung, Wissen...

Aber poste doch mal deine orginale PHP-Seite (wenn's wirklich nur 10 Zeilen sind)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 22 guests