Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PHP: Vergleich von Daten aus Formular mit Daten aus Datenbank schlägt fehl

Mitglied: DRwindows97

DRwindows97 (Level 1) - Jetzt verbinden

12.11.2013, aktualisiert 21:17 Uhr, 3076 Aufrufe, 3 Kommentare

Hallo Administratoren,
seit etwa 2 Wochen habe ich nun schon ein Problem mit einem PHP Skript.

Und zwar habe ich drei Dateien, die eine schreibt in die Datenbank die anderen beiden sind die Loginseite und das Skript, welches das Loginformular verarbeitet.
Das schreiben in die Datenbank funktioniert dabei wunderbar, aber beim Loginskript kommt es zu einem Fehler, den ich nicht so recht verstehe.

Der Fehler ist als Warnung gekennzeichnet und lautet: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\pre_stable\enter.php

Der Aufbau der Datenbank ist:
id,name,rang

Wobei die ID, das Passwort für die Erstanmeldung ist.

Das Skript welches die Daten aus dem Formular mit den Daten in der Datenbank vergleicht ist folgendes:

01.
<?php 
02.
########Eingabe aus Formular erhalten 
03.
$nick = mysql_real_escape_string($_POST["benutzer"]); 
04.
$pw = mysql_real_escape_string($_POST["passwort"]); 
05.
 
06.
#####Eingabe mit Daten in Tabelle vergleichen 
07.
 
08.
// Zur Datenbank verbinden 
09.
$db = new mysqli('localhost', 'root', '', 'clanmember'); 
10.
 
11.
if ($db->connect_errno) 
12.
13.
	echo 'Es konnte keine Datenbankverbindung hergestellt werden!<br />'; 
14.
	echo 'Folgender Fehler ist aufgetreten: (' . $db->connect_errno . ') ' . $db->connect_error; 
15.
	exit
16.
17.
$sql = "SELECT * FROM clanmember WHERE name = '$nick' AND id = '$pw'"
18.
$result = mysql_query($sql); 
19.
 
20.
if(mysql_num_rows($result) == 1) { 
21.
echo "LOGIN"
22.
} else
23.
echo "FEHLER"
24.
25.
?>
Danke für eure Hilfe.

Mitglied: flow.ryan
12.11.2013 um 21:25 Uhr
Hallo,

ich habe da mal eine Frage an dich - vielleicht löst das auch schon das Problem:

- Du nutzt MySQLi um die Verbindung herzustellen (Zeile 9) - jedoch nutzt du MySQL um die Query auszuführen (Zeile 18 ff). Ist das Absicht?

Schau dir dazu doch mal das hier an:
http://www.selfphp.info/praxisbuch/praxisbuchseite.php?site=263&gro ...

Ggf. wäre auch PDO etwas für dich. Damit kannst du dann auch Parameter an die Query binden und somit die Abfrage gegen SQL-Injection sichern.

Denke auf jeden Fall da dran, die Login-Daten zu verschlüsseln - ordentlich und auch noch zu salzen!

Gruß,
Florian.
Bitte warten ..
Mitglied: DRwindows97
13.11.2013 um 17:47 Uhr
Hallo Florian,

ich habe das ganze jetzt zu MySQL umgeändert jedoch bleibt der Fehler bestehen.

01.
// Zugangsdaten und Datenbankname ggfs. anpassen! 
02.
$db = mysql_connect('localhost', 'root', '');  
03.
 
04.
mysql_select_db('clanmember') or exit ("Datenbank  
05.
existiert nicht!"); 
06.
 
07.
$sql = "SELECT * FROM clanmember WHERE name = '$vn' AND id = '$pw'"
08.
$result = mysql_query($sql); 
09.
 
10.
if(mysql_num_rows($result) == 1) { 
11.
echo "LOGIN"
12.
} else
13.
echo "FEHLER"
14.
15.
?>
Bitte warten ..
Mitglied: Arano
13.11.2013 um 20:20 Uhr
Hi,

du hast da einen wichtigen Schritt vergessen !
Nach dem Ausführen des Queries hast du vergessen zu überprüfen ob das auch funktioniert hat !

Überprüfe in Zeile 9 ob der Rückgabewert von mysql_query() dem entspricht was du erwartest !
Was die Funktion wann zurückgibt steht (unglaublicherweise) im Manual PHP-Manual - mysql_query()

Bitte immer die englische Version bevorzugen !!
Wie hier gut zu sehen ist, steht in der englischen Version das diese Funktion veraltet __ist__ und in der Zukunft __entfernt wird__ ! In der deutschen steht nichts davon Oo
Solche "kleinen" aber wichtigen Unterschiede gibt es immer wieder in der deutschen Version. Teilweise sind oder waren die Funktionsbeschreibungen auch unvollständig.
Englisch kann man lernen -> PHP, SQL und so ziemlich jede andere Sprache(und deren Fehlermeldungen !) auch... ...sind in englisch ;)

Schaut man sich das Manual und deine Fehlermeldung an, sieht es sehr danach aus als ob das Query fehlschlägt !
Und somit können auch die folgenden Funktionen die siech darauf beziehen nicht funktionieren.
Das Query schlägt fehl, die Funktion gibt FALSE zurück, in $result steht ebenfalls FALSE und wird an die Funktion mysql_num_rows() übergeben, doch diese "meckert" s.Fehlermeldung

Tip
Schau dir auch die Funktionen print_r() und var_dump() an.
Die hätten die in diesem Fall auch helfen können das Problem zu finden


~Arano
Bitte warten ..
Ähnliche Inhalte
PHP

Daten via PHP aus mysql Datenbank auslesen und löschen

gelöst Frage von KyrinjaPHP5 Kommentare

Guten Morgen liebe Leute, ich verzweifle! Ich versuche Daten aus einer DB auszulesen und hinter den Daten einen Löschenbutton ...

Datenbanken

Datenbankabfrage per PHP schlägt fehl ohne fehlermeldung

gelöst Frage von LordKimahriDatenbanken15 Kommentare

Ich möchte per PHP den inhalt der Datenbank auslesen die ich folgendermaßen anlegen musste: Abfragen will ich mittels dieses ...

PHP

PHP und Mysql aus Datenbank auslesen und geänderte Daten einfügen

gelöst Frage von gamerffPHP4 Kommentare

Hallo Forum, könntet ihr mir bitte weiterhelfen, ich habe ein php Code mit dem ich einen Datensatz auslesen möchte, ...

PHP

PHP Problem mit Formular

gelöst Frage von vServerPHP6 Kommentare

Hallo, ich habe ein Formular jedoch ein Problem das später nicht alle Felder weitergegeben werden? und hier hab ich ...

Neue Wissensbeiträge
Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 5 StundenWindows Update

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Microsoft Office

MS Office 2019 ohne OneNote - OneNote App speichert nur in Cloud

Information von Deepsys vor 15 StundenMicrosoft Office2 Kommentare

Microsoft zeigt deutlich wohin alles bei Ihnen geht, OneNote 2019 wird es nicht mehr geben, und die Windows 10 ...

Humor (lol)

Warum man sein Gast-WLAN nicht beliebig nennen sollte

Erfahrungsbericht von Henere vor 1 TagHumor (lol)5 Kommentare

Servus, mal was aus dem Alltag. Zu Hause. Eigentlich wollte ich nur einen weiteren WLAN-AP ins Netz bringen, damit ...

Sicherheit

Schwachstelle in Intel SPI Flash Firmware kann manipuliert werden

Information von sabines vor 2 TagenSicherheit

Es existiert ein Problem in einigen Intel Chipsätzen, das durch einen lokalen Angreifer genutzt werden könnte. Die Firmware befindet ...

Heiß diskutierte Inhalte
Off Topic
1st , 2nd Level Support Techniker - Patchfeld und Switche etc.
Frage von pixel0815Off Topic30 Kommentare

Moin zusammen, ich weiß gar nicht ob es hier richtig ist, aber mich würde mal interessieren wie ihr das ...

Windows Netzwerk
LAN nur 10MB pro s trotz gb lan
Frage von tsunamiWindows Netzwerk19 Kommentare

Hallo zusammen, ich brauche mal wieder einen Anstoß in die richtige Richtung. Ich habe einen Windows 10 pc mit ...

Festplatten, SSD, Raid
Server SSD: NVMe PCIe 3.0 RAID?
Frage von bouneeFestplatten, SSD, Raid14 Kommentare

Hallo liebe Admins, mir stellt sich gerade die Frage, ob ein neuer Server mit SSD NVMe PCIe 3.0 Sinn ...

Windows 10
Windows 10 Startmenü-Einstellungen Systemweit festlegen
Frage von flotautWindows 1013 Kommentare

Guten Morgen liebe Admins, wir möchten bei uns am Lehrstuhl demnächst auf Windows 10 umsteigen. Wir installieren unsere PC's ...