| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

03-02-2012, 11:57
|
|
Akkon
Registrierter Benutzer
|
|
Registriert seit: Feb 2012
Beiträge: 3
|
|
Was mache ich hier falsch?
Hallo ihr lieben,
was mache ich hier:
PHP-Code:
<?php session_start(); $username = $_GET[username]; $like = $_SESSION[username]; require_once("inc/connect.php"); mysql_query("UPDATE members SET like = '$like' WHERE username = '$username'") or die(mysql_error());
?>
falsch? Als Fehler kommt:
Zitat:
|
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like = 'Akkon' WHERE username = 'wishdream'' at line 1
|
Bitte helft mir  ich komme einfach nicht weiter O.O
|

03-02-2012, 12:25
|
 |
Berni
  OWNER
|
|
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.206
|
|
|

03-02-2012, 12:36
|
|
Akkon
Registrierter Benutzer
|
|
Registriert seit: Feb 2012
Beiträge: 3
|
|
Dankesehr, kannst du mir auch sagen wo ich tipps finde, wo ich etwas in ein Feld hinzufügen statt ersetzen kann?
Wie folgt:
A und B gehen diesem Link nach
like.php?username=C
Dann soll statt dem Namen der zum schluss geliked hat (also in dem Fall B) allein da stehen sondern beide stehen "A, B"
geht das??
|

03-02-2012, 12:44
|
 |
Berni
  OWNER
|
|
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.206
|
|
what? 
Emmm ich verstehe nicht ganz was du möchtest...
|

03-02-2012, 12:49
|
|
Akkon
Registrierter Benutzer
|
|
Registriert seit: Feb 2012
Beiträge: 3
|
|
Also mein Script ermöglicht es derzeit nur, den namen der dem Link folgt zu überschreiben.
Das heißt
Nutzer "A" geht bei Nutzer "B" im Profil auf "I Like it!",
Dann wird das Script ausgeführt und das "liken" Feld für den Nutzer B füllt sich mit dem Nutzernamen von "A". Wenn jetzt Nutzer "C" ebenfalls im Profil von Nutzer "B" auf liken geht, dann wird da im Profilfelt "liken" einfach nur der Nutzername von "A" überschrieben mit "C" und "C" wird nicht angefügt wie folgt:
Likes von: "A, C"
Verstanden? Ich wüsste nicht wie ich es besser erklären könnte
|

03-02-2012, 15:23
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
in eine Spalte gehört ein atomarer Wert. Dein Datenbankmodell ist nicht normalisiert. Likes von anderen Benutzern gehören in eine eigene Tabelle. Benutzernamen, die einen Apostroph enthalten (z. B. Clarice D'Acosta) sorgen für einen Crash in deinem Script, da du dich nicht gegen SQL Injections absicherst. Selbst unbegabte Hacker können das ausnutzen, um deine gesamte DB zu leeren.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

22-02-2012, 12:29
|
|
Buju77
Registrierter Benutzer
|
|
Registriert seit: Feb 2012
Beiträge: 6
|
|
Like benötigt keine = im SQl !!
einfach LIKE '%suche%' Sry Frage Falsch verstanden
like ist ein Schlüsselwort und darf nicht als Feldbezeichnung benutzt werden !
Geändert von Buju77 (22-02-2012 um 12:31 Uhr)
|

22-02-2012, 13:32
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Buju77
like ist ein Schlüsselwort und darf nicht als Feldbezeichnung benutzt werden !
|
Darf es schon, nur müssen dann die Anführungszeichen für Bezeichner (`...`) verwendet werden, aber das sagte Berni ja eingangs schon.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

22-02-2012, 15:17
|
|
Buju77
Registrierter Benutzer
|
|
Registriert seit: Feb 2012
Beiträge: 6
|
|
ja kann man so machen, allerdings Ticks für Keys mag ich persönlich nicht, vondaher benutze ich einfach keine Schlüsselwörter als feldbezeichner.
weis gar nicht ob das mit PDO überhaupt zulässig wäre ...
|

22-02-2012, 16:10
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Buju77
weis gar nicht ob das mit PDO überhaupt zulässig wäre ...
|
Ist es und warum sollte es auch nicht? Nur weil du die nicht magst, überträgt sich das nicht automatisch auf PDO
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

22-02-2012, 16:47
|
|
Buju77
Registrierter Benutzer
|
|
Registriert seit: Feb 2012
Beiträge: 6
|
|
Zitat:
Zitat von AmicaNoctis
Ist es und warum sollte es auch nicht? Nur weil du die nicht magst, überträgt sich das nicht automatisch auf PDO 
|
ne nicht weil ich die nicht mag ...
eher rational ... viel mehr schreiben damit pdo die ticks auch im key setzt ...
|

22-02-2012, 16:54
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Buju77
ne nicht weil ich die nicht mag ...
eher rational ... viel mehr schreiben damit pdo die ticks auch im key setzt ...
|
Ich versteh nicht, was du damit sagen willst und was das mit PDO zu tun haben soll.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

22-02-2012, 16:58
|
|
Buju77
Registrierter Benutzer
|
|
Registriert seit: Feb 2012
Beiträge: 6
|
|
na weil pdo automatisch die Ticks entfernt im SQl query also müsstest du den key genaus wie value ersetzen lassen ... ergo viel mehr schreiben, was durch eine einfache Regel wie keine Keywords als Feldbezeichner entfällt.
|

22-02-2012, 17:18
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Buju77
na weil pdo automatisch die Ticks entfernt im SQl query also müsstest du den key genaus wie value ersetzen lassen ... ergo viel mehr schreiben, was durch eine einfache Regel wie keine Keywords als Feldbezeichner entfällt.
|
Seit wann entfernt PDO die Backticks in Feldbezeichnern? Wieso muss ich was ersetzen lassen und was meinst du überhaupt damit? Sprichst du von Prepared Statements? Da werden aber auch keine Keywords ersetzt und das Ersetzen der Platzhalter mit den Werten übernimmt auch nicht PDO sondern die DB selbst. Ich rätsele hier, was du wohl meinen könntest, aber bisher ergibt es für mich keinen Sinn, sorry.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

23-02-2012, 09:44
|
|
Buju77
Registrierter Benutzer
|
|
Registriert seit: Feb 2012
Beiträge: 6
|
|
yuup Prepared Statements.
die DB macht nichts, wenn dann machts die Library PDO -
wie auch immer - ich nehm einfach keine keywords von daher ist es mir mittlerweile Wurst, und wenns so klappt freuts mich für dich ...
Select * From tbl WHERE like LIKE '%Dampflauderer%'
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|