Я пытаюсь сохранить пользовательский ввод, который должен быть адресом электронной почты, в моей базе данных, но, похоже, он не работает, несмотря на сообщение об успехе:
INSERT INTO mydb.emails VALUES (''){"data":"You Data added successfully"}
.
(Вы можете увидеть это сообщение в выражении if
моего кода в файле php).
Я подозреваю, что что-то не так с тем, как я создал свою таблицу и / или как я использую переменную $sql
внутри файла php.
Я врезался в стену и хотел бы знать, что я делаю не так?
Ниже у меня есть вся необходимая информация.
Вот мой js файл:
import React, {Component} from 'react';
import axios from 'axios';
export default class ProductList extends Component {
constructor(props) {
this.addFormData = this.addFormData.bind(this);
}
addFormData(evt) {
evt.preventDefault();
const fd = new FormData();
fd.append('myEmail', this.refs.myEmail.value);
var headers = {
'Content-Type': 'application/json;charset=UTF-8',
// 'Host' : 'sdb.amazonaws.com'
"Access-Control-Allow-Origin": "*"
};
axios.post("myEndPoint", headers, fd)
.then(res => {
alert(res.data.data);
});
}
render() {
let styles = this.state.modalVisible
? {display: "block"}
: {display: "none"};
return (
<React.Fragment>
<form>
<div className="col-xs-2 text-center">
<input type="email" id="Email" aria-describedby="emailHelp" placeholder="Enter email" ref="myEmail" />
</div>
<button type="submit" className="submitEmail btn btn-primary" onClick={this.addFormData}>Submit</button>
</form>
</div>
</React.Fragment>
);
}
}
Вот мой php файл:
<?php
header("Access-Control-Allow-Origin: *");
$servername = "my host";
$username = "my name";
$password = "my pw";
$dbname = "mydb";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO innodb.emails
VALUES ('".$_POST['myEmail']."')";
echo $sql;
if (mysqli_query($conn,$sql)) {
$data = array("data" => "You Data added successfully");
echo json_encode($data);
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
?>
Вот мой SQL запрос для создания таблицы, которая содержит электронные письма:
CREATE TABLE mydb.emails(emails VARCHAR(200));
SELECT * FROM mydb.emails;