Probleme mit PHP bei MySQL

Alles, was PHP betrifft, kann hier besprochen werden.

Probleme mit PHP bei MySQL

Postby therealone » 24. June 2003 11:46

Hallo!

Kann es sein, dass es beim erstellen von Lampp 1.0 zu einem Bug gekommen ist ?

Zitat:
"Randnotiz: Ich hab PHP in dieser Version mit der PHP-eigenen MySQL-Unterstützung kompiliert, da sich die Kombination MySQL 4.0.13 und PHP 4.3.2 in meinen Tests als instabil erwies."

ich versuche jedenfalls ohne Erfolg in PHP folgende Befehle zu nutzen:

- mysql_close()
- mysql_db_query()
- mysql_num_rows()

Die Argumente der Funktionen habe ich richtig ausgefüllt, aber PHP meint
immer, es gäbe diese Funktionen gar nicht. Andere, wie z.B. mysql_connect() oder mysql_query() funktionieren aber wunderbar.

Die nicht funktionierenden Funktionen stehen aber in der PHP- und der Mysql-Dukomentation.


Therealone
therealone
 
Posts: 6
Joined: 10. June 2003 12:34

Postby Oswald » 24. June 2003 12:16

Ahoi Therealone!

Ein schneller Test mit diesem PHP-Skript
Code: Select all
<?php

mysql_close();
mysql_db_query();
mysql_num_rows();

?>


ergab folgende Fehlermeldungen:

Code: Select all
Warning: mysql_close(): no MySQL-Link resource supplied in /opt/lampp/htdocs/test.php on line 3
Warning: Wrong parameter count for mysql_db_query() in /opt/lampp/htdocs/test.php on line 4
Warning: Wrong parameter count for mysql_num_rows() in /opt/lampp/htdocs/test.php on line 5


Er kennt also diese Befehle. Sonst würde er a) eine andere Fehlermeldung feuern und b) nicht wissen, dass die Parameter fehlen.

Bis Du Dir sicher, dass er bei Dir diese Befehle nicht kennt?

Gruß,
Oswald

PS: Obiges Experiment mit LAMPP 1.0.
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby therealone » 24. June 2003 12:59

Hi Oswald!

Du hast recht. Wenn ich deinen Code auführe, bekomme ich die gleichen
Meldungen. Ich bin gerade dabei PHP zu lernen. Ich kann schon recht gut Perl, sodass PHp nicht wirklich schwer ist. Ich habe mir dazu ein kleines Referenzhandbuch zu PHP gekauft und lese ein Online-Buch
http://www.galileocomputing.de/openbook/php4/

Damit's etwas schnell gehen soll, habe ich aus dem Online-Buch den Beipiel-Code unter Windows aus dem Browser herauskopiert. in eine
Text-Datei geschrieben, verändert und per Samba auf den Linux-Server kopiert.
Und dann traten diese seltsamen Fehler auf:

in meiner Datei steht:
.....
code
.......
$db=mysql_connect("10.0.0.5","searchengine","passwort");
mysql_select_db("intranet", $db);
$rs=mysql_query("select * from searchtest where word = '$search' order by freq desc",$db);
$x = mysql_num_rows($rs); // diese Zeile * funzt nicht
$numrs=mysql_num_rows($rs); // diese Zeile funzt
echo "<p> $numrs search results for '$search'<p>";
.....
code
......

Wenn ich die Datei so im Browser aufrufe, kommt :

Fatal error: Call to undefined function: mysql_num_rows() in /opt/lampp/htdocs/testphp/test2.php on line 16

Line 16 ist die mit dem *. Wenn ich die auskommentiere, läufts.

Die Zeile * ist au dem Online-Buch kopiert, wobei ich die Variablen umbenannt habe.
Die Zeile darunter habe ich "von Hand" getippt.

Das ist doch sehr sehr merkwürdig, oder?

Therealone
therealone
 
Posts: 6
Joined: 10. June 2003 12:34

Postby Oswald » 24. June 2003 13:15

Cooles Problem! Kannst Du mir die Datei genau so wie sie ist mal irgendwie zuschicken? Am besten als Attachment, damit nichts verloren geht.

Ansonsten würd ich das Problem erst mal in die Schublade der seltsamen Copy&Paste-Fehler stecken.

Gruß,
Oswald
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby therealone » 24. June 2003 13:34

Oswald, ich glaub'ich hab's gefunden!!

Der einzige Unterschied zwischen den beiden Zeilen ist neben den Variablennamen die beiden LEERZEICHEN zwischen dem Gleichzeichen der
nicht funktionierenden Zeile.

Also

$x = mysql_num_rows($rs);

funzt nicht,

$x=mysql_num_rows($rs);

funzt.

Ist das immer bei PHP so? ;-)

Therealone
therealone
 
Posts: 6
Joined: 10. June 2003 12:34

Postby Oswald » 24. June 2003 13:47

Huhu therealone!

Nein, das wird es nicht sein. Die Leerzeichen sind beliebig.

Ich vermute eher, dass sich da irgendwie irgendwo "unsichtbare" Steuerzeichen reingewurstelt haben.

Gruß,
Oswald
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby boppy » 24. June 2003 16:25

Vielleicht liegt es an den Leerzeichen, weil es gar keine leerzeichen sind :)

Klingt vielleicht etwas komisch, ist aber so *g*

Space und ALT+0160 sehen ziemlich gleich aus, sind es aber nicht. vielleicht interpretiert php somit nicht nur mysql_num_rows sondern [alt+0160]mysql_num_rows...

lösche mal die spaces und mach sie neu...
...in diesem Sinne
yours boppy

Interpunktion und Orthographie dieses Beitrags sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
User avatar
boppy
AF Moderator
 
Posts: 501
Joined: 27. December 2002 02:15
Location: W-E-City


Return to PHP

Who is online

Users browsing this forum: No registered users and 5 guests