2017-11-15 5 views
0

Ich bin ein Neuling und versuchen, PHP INSERT INTO-Anweisung zu lernen. Ich weiß, dass wir, wenn wir den Wert für String einfügen, die Syntax verwenden müssen. Aber ich verstehe die Bedeutung der {} Syntax für "title" und "link" nicht. Jeder kann mir erklären. Danke vielmals.Bitte erläutern Sie die Bedeutung von {} Syntax für mich

enter image description here

+0

Sie betrachten eine Templatestring. Eine in PHP in Anführungszeichen eingeschlossene Zeichenfolge kann auf diese Weise geschrieben werden. '$ varName = 'Hallo'; echo "varName ist {$ varname} \ n"; 'wird ausgeben' varName ist hallo'. Das Element zwischen '{}' ist eine Variable, deren Wert verwendet wird. @mickmackusa sagt, es ist eine schlechte Übung, weil es reif für einen SQL-Injection-Angriff ist. Er hat Recht für diesen Kontext, aber die allgemeine Praxis der Templated Strings ist NICHT schlecht. –

+1

Verwenden Sie diese Abfrage NICHT, sie ist unsicher. Research mysqli bereitete Aussagen mit Platzhaltern vor. – mickmackusa

+0

Bitte geben Sie Ihren Code als Text ein, nicht als Screenshot. – Neil

Antwort

1

Auf Sql Seite gibt es keinen Unterschied zwischen '$ title' oder '{$ title}'. aber in php {$ title} ist eine vollständige Syntax $ title, die man nutzen kann:

  • "this is post {$title}s"
  • "{$object->data}"
  • "{$array['data']}"
  • "{$array['data']->obj->plop['test']}"

Die geschweiften Klammern "Escape" die PHP-Variable und werden nicht an MySQL übergeben. Mit einer einfachen Variablen wie $ title macht es keinen Unterschied, aber mit etwas wie $ post ['title'] tut es. für weitere Informationen check this

Verwandte Themen