Laden...

Laufzeitfehler in Php-Programm

Erstellt von Siassei vor 15 Jahren Letzter Beitrag vor 15 Jahren 7.098 Views
S
Siassei Themenstarter:in
401 Beiträge seit 2008
vor 15 Jahren
Laufzeitfehler in Php-Programm

Hallo,

ich weiß, das ganze ist etwas Off-Topic und ich entschuldige mich hiermit. Ich benutze eigentlich nicht mehr PHP, aber ich muss leider meine alte Homepage etwas umstrukturieren und naja

Ich VERZWEIFLE an einem Problem 🙁 🙁 🙁

Ich stelle mit folgender Funktion eine Verbindung zu MySQL her
[php]function connect() {
$d = mysql_connect("strato", "Name", "Passw");
mysql_select_db("DBName", $d); // DB-Auswahl nach Strato-FAQ
//if(!mysql_query("use DBName")) die("DB existiert nicht 😦\n");

return $d;  

[/php]

und möchte mittels [php]function checkUserDaten($name, $pass) {
$b = false;
$db = connect();

$result = mysql_query("SELECT logname, password, Id from TSMClientDaten WHERE logname='"+ $name +"' LIMIT 0,1");  

    // das gleiche mit  
    // $result = mysql_query("SELECT logname, password, Id from TSMClientDaten WHERE logname='"+ $name +"' LIMIT 0,1", $db);  
  
$menge = mysql_num_rows($result);  
if($menge < 1) {  
	return false;  
}  
[/php]  

eine Verbindung zu MySQL aufbauen und einen Datensatz abfragen. Jedoch erhalte ich die Fehlermeldung
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /mnt/web8/13/87/51718487/htdocs/php/sqlManager.php on line 175
Line 175 bezieht sich auf die Linie 10 des zweiten Codes.

Hilfe, was mach ich falsch?

C
89 Beiträge seit 2005
vor 15 Jahren

Die verknüpfung von strings funktioniert in PHP nicht mit "+" sondern mittels "."

ergo:
[php]
$result = mysql_query("SELECT logname, password, Id from TSMClientDaten WHERE logname='".$name."' LIMIT 0,1");
[/php]

S
Siassei Themenstarter:in
401 Beiträge seit 2008
vor 15 Jahren

Hallo Calexico,

**dickes **Dankeschön =) 🙂

und ich sähm mich für die Frage. So weit Stand ich schon lange nicht mehr auf den Schlauch. Aber wenn man halt seit 3 Jahren nichts mehr mit PHP zu tun hatte, ... Danke

140 Beiträge seit 2006
vor 15 Jahren

Huhu!

Ich würde das Result Objekt der Query Funktion mit If auf gültigkeit überprüfen dann bekommst du auch die Fehler mit:

[php]
function checkUserDaten($name, $pass)
{
$b = false;
$db = connect();

$result = mysql_query("SELECT logname, password, Id from TSMClientDaten WHERE logname='"+ $name +"' LIMIT 0,1");

if ( $result )
{
$menge = mysql_num_rows($result);

if($menge < 1)   
{  
  return false;  
}  

}
else
{
$SQLFehler = "(".mysql_errno ()." ) ".mysql_error ();
}
[/php]

Nur die Kogge schwimmt! 😁