Mit VueJS, Daten von MySQL abfragen und verändern?


20.01.2024, 11:03

Ich meinte von VueJS ein File aufzurufen, dass für mich bestimmte Daten einfügt. Könnte zum Beispiel mit PHP sein, aber ich weiß nicht, wie ich so etwas mache.

Ich habe also in meiner Vue-Datei einige Variablen, die ich mit z.B. PHP in eine Datenbank schreiben möchte.

3 Antworten

Es gibt zwei übliche Optionen, um Daten an ein Backend zu senden, da wäre einerseits die in JS eingebaute fetch-Funktion. Mit der würde man im Normalfall einen POST-Request an das Backend schicken und die entsprechenden Daten mit Anhängen. Alternativ gibt es die Axios-Library, die ähnliche Funktionalität hat.

Wenn du ein PHP-Backend verwendest (und das kann hier eine einzelne Datei sein), kannst du die vom Frontend gesendeten Daten dann in der Variable $_POST finden und damit arbeiten.

Wichtig: Bei solchen Sachen musst du immer davon ausgehen, dass auch unerwartete Dinge oder gar nichts in $_POST stehen, daher immer prüfen, ob überhaupt etwas drinsteht, und wenn man mit einer Datenbank arbeitet, sicherstellen, dass keine SQL-Injection möglich ist.

In der PHP-Datei kann man dann z.B. mit der eingebauten mysqli-Klasse arbeiten, um die Daten in die Datenbank zu schreiben.

https://www.php.net/manual/de/mysqli.quickstart.php

Woher ich das weiß:Berufserfahrung – Tätigkeit als Webentwickler in einer Digitalagentur

Das geht aus gutem Grund nicht. Die Abfrage von Daten geschieht serverseitig. JavaScript und JS-Frameworks haben keine Möglichkeit das clientseitig umzusetzen. Das wäre ein Sicherheitsrisiko. Dafür gibt es Sprachen wie Python oder PHP die Daten abrufen können und dem Script via Request zusenden können.

Woher ich das weiß:Berufserfahrung – Ich bin gelernter Mediengestalter Digital und Print(IHK)

GuteFrageXY13 
Beitragsersteller
 20.01.2024, 11:00

Ich habe es falsch formuliert. Ich versuche aus VueJS genau so etwas wie ein PHP Skript aufzurufen, das diese Aufgabe für mich übernimmt. Sprich ich habe im VueJS einige Variablen, die ich mithilfe von z.B. PHP in eine Datenbank schreiben möchte.

Mirko Marek  21.01.2024, 00:15
@GuteFrageXY13

Hi, kein Problem. Mithilfe von HTTP-Requst oder mit fetch lassen sich asynchron Daten abrufen vom Server. Es wird sozusagen die PHP-Seite aufgerufen und die gibt Daten aus. Davor kann man Daten zu dieser PHP-Datei senden. Diese wird dann entwerder via POST-Methode oder GET-Methode empfangen und kann weiterverarbeitet werden. Als Ergebnis wird als Request die benötigten Daten zurück gesandt. Ich bin Hater von VueJS, sondern bin vor Corona von JavaScript-Frameworks weg gegangen und habe zum größtenteil positive Erfahrungen gesammelt aber gerne schreibe ich dir eine Lösung in VueJS: https://www.w3schools.com/vue/vue_http.php und https://test-utils.vuejs.org/guide/advanced/http-requests Ich wünsche dir damit viel Erfolg und wenn du weitere Fragen hast dann einfach auf gutefrage.net schreiben.

VueJS ist eigentlich nur für Front-End, es gibt zwar Embedded Datenbanken, aber die sind alle nur im Arbeitsspeicher und MySQL wirst du damit nicht hinkriegen.

Alles zu Datenbanken solltest du im Backend machen.

Woher ich das weiß:Studium / Ausbildung – Fachinformatiker /Anwendungsentwicklung