Mit React-Native und fetch() möchte ich einen neuen Datenbankeintrag mit einem PHP-Skript erstellen. Das PHP-Skript selbst funktioniert, getestet wurde es erfolgreich mit einer HTML-Seite. Aber ich kann meine Javascript fetch() Version noch nicht funktionieren.
// App.js
const dbData = new FormData();
dbData.append(
'fileName', 'fileNameTest',
);
fetch('http://myurl.com/createDatabaseEntry.php', {
headers: {
'Content-Type': 'multipart/form-data',
},
method: 'POST',
body: dbData,
}).then((res) => {
console.log('Database response: ', res);
})
.catch((error) => {
console.log('DB error: ', error);
});
BTW: Netzwerkstatus in den Protokollen ist immer 200.
Die PHP-Seite:
// createDatabaseEntry.php
$fileName = $_POST['fileName'];
$link = mysqli_connect('localhost', 'login', 'password',
'myDatabase');
$sql = "INSERT INTO files (fileName) VALUES ('$fileName')";
Es ist wahrscheinlich über die Variablen vorbei mit Abruf- oder die dbData.append()?
Überprüfen Sie die Registerkarte Netzwerk zu lesen, um zu sehen, welche Anforderungsparameter gesendet werden. – Barmar
Sie brauchen die Option 'headers:' nicht, sie sendet diesen Header standardmäßig, wenn Sie 'FormData' verwenden. – Barmar
Wo "echo" du eine Antwort von 'php'? – guest271314