Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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 While abfragen und Datenbank aktualisieren

Frage Entwicklung PHP

Mitglied: Luciver1981

Luciver1981 (Level 1) - Jetzt verbinden

06.03.2013, aktualisiert 07.03.2013, 1792 Aufrufe, 9 Kommentare

Hallo Admins

Ich habe eine Seite gebastelt wo mit Benutzerdaten gearbeitet wird. Ich möchte jetzt jeden Nutzer ermöglichen gewisse Inhalte von ihm selber geändert werden kann. Hier mal mein Konstrukt was so aber nicht funktioniert (Leere Seite ohne Fehlermeldung)
Mit
01.
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht 
02.
 
03.
waehlen."); 
04.
	 
05.
$sql = "SELECT benutzer, status, beschreibung, name FROM user"
06.
	 
07.
$user_query = mysql_query($sql) or die("Anfrage nicht erfolgreich"); 
08.
	 
09.
while ($row == mysql_fetch_row($user_query)){ 
10.
	 
11.
while ($row->benutzer == $benutzer
12.
13.
echo "<div class='text-allgemein'>$row->benutzer</div>"
14.
echo "<div class='text-allgemein'>$benutzer</div>"
15.
echo "<div class='text-allgemein'>$row->status</div>"
16.
	 
17.
18.
19.
 
Hier möchte ich ertmal die Bereits gespeicherten Daten des Nutzers abrufen.
Die Abfrage soll ist der Benutzer in Datenbank = angemeldeter Benutzer (Variable $benutzer) dann gib seine Daten aus.
Mitglied: ChrisMoltisanti
06.03.2013, aktualisiert um 13:12 Uhr
Hi
Bitte als Code posten.

01.
while ($row->benutzer == $benutzer)
macht keinen Sinn! Wo ist $Bneuzter definiert? Wieso nicht != NULL oder sowas? Kenne die Syntax von Php nicht näher, nur Java und C++

Grüße
Bitte warten ..
Mitglied: SlainteMhath
06.03.2013 um 13:32 Uhr
Moin,

Die Abfrage soll ist der Benutzer in Datenbank = angemeldeter Benutzer (Variable $benutzer) dann gib seine Daten aus.
Sowas frägt man nicht in einer while-Schleife ab, sondern in der WHERE-Klause der SQL Abfrage. In deinem Fall etwa:

01.
$sql = "SELECT benutzer, status, beschreibung, name FROM user WHERE benutzer='" . $benuzer . "'";
Die 2te While-Schleife (die wenn dann eh ein if-Statement sein sollte) kann dann raus.

lg,
Slainte
Bitte warten ..
Mitglied: nxclass
06.03.2013, aktualisiert um 14:26 Uhr
01.
$sql = "SELECT benutzer, status, beschreibung, name FROM user"; 
02.
// ... 
03.
while ($row == mysql_fetch_row($user_query)){ 
04.
while ($row->benutzer == $benutzer)
01.
$sql = "SELECT `benutzer`, `status`, `beschreibung`, `name` FROM `user` WHERE `benutzer` = '{$benutzer}'"; // vorsicht SQL injection möglich 
02.
// ... 
03.
while ($row = mysql_fetch_row($user_query)){
... die 2. while Anweisung samt {} kann dann weg - wenn dann müsste das ein if sein.
Bitte warten ..
Mitglied: Luciver1981
06.03.2013, aktualisiert 07.03.2013
Danke Slainte und nxclass der Selektor kommt also in die Datenbankabfrage und nicht in die While Schleife, wieder was gelernt . Habs jetzt so gelöst
01.
 
02.
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht 
03.
 
04.
waehlen."); 
05.
	 
06.
$sql = "SELECT benutzer, status, beschreibung, name FROM user WHERE benutzer='" . $benutzer . "'"
07.
	 
08.
$user_query = mysql_query($sql) or die("Anfrage nicht erfolgreich"); 
09.
	 
10.
while ($row = mysql_fetch_object($user_query)){ 
11.
bla 
12.
}
Und das update der Datenbank dann so:
01.
 
02.
$sql = "UPDATE user SET status = '" . $status . "', beschreibung = '" . $beschreibung . "' WHERE benutzer='" . $benutzer . "'"
03.
	 
04.
$user_query = mysql_query($sql) or die("Speichern fehlgeschlagen"); 
05.
	 
06.
echo "<p class='text-allgemein'>Deine Daten sind gespeichert</p>";
Bitte warten ..
Mitglied: SlainteMhath
06.03.2013 um 15:19 Uhr
ja genau.

Jetzt wendest du noch die funktion "mysql_real_escape()" auf alle in deinen SQL Queries verwendeten Variablen an bevor du sie benutzt und alle ist gut

ps: und verwendete doch bitte mal code-Tags in deinen Beiträgen, dann kann man deinen Source-Code auch besser lesen.
Bitte warten ..
Mitglied: Luciver1981
06.03.2013 um 16:26 Uhr
Da sprichst du ein gutes Thema an hab ein Gästebuch. Wie könnte ich mich da vor SQL Injection schützen?
Bitte warten ..
Mitglied: godlie
06.03.2013 um 21:58 Uhr
Ganz einfach in dem du dich mit dem Thema SQL Injection beschäftigst.
Bitte warten ..
Mitglied: Luciver1981
07.03.2013 um 08:22 Uhr
Hast du vielleicht paar nützliche Links oder Tipps wie ich meine Variablen schützen kann bevor sie in die Datenbank geschrieben werden.
Bitte warten ..
Mitglied: SlainteMhath
07.03.2013 um 08:45 Uhr
Hast du vielleicht paar nützliche Links oder Tipps wie ich meine Variablen schützen kann bevor sie in
die Datenbank geschrieben werden.

Ich zitier mich mal selbst:

Jetzt wendest du noch die funktion "mysql_real_escape()" auf alle in deinen SQL Queries verwendeten
Variablen an bevor du sie benutzt und alle ist gut


Anfangen könntest Du hier: http://de.wikipedia.org/wiki/SQL-Injection
und zur erheiterung noch das hier
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...