Где должен храниться мой файл PHP, если я использую AWS RDS для хранения ввода пользователя в базу данных? - PullRequest
2 голосов
/ 02 февраля 2020

Прежде чем использовать Amazon RDS, я бы протестировал мой пользовательский ввод локально и мою конечную точку (http://localhost/emails.php), которая будет находиться в моей папке htdocs (я использую MAMP), чтобы я мог хранить пользовательский ввод в моем SQL db через текстовое поле без проблем.

Но теперь, когда я перешел на Amazon RDS, я получил новую конечную точку, которая успешно подключается к MySQL Workbench.

Мой вопрос: где я должен хранить этот файл php, который содержит всю информацию для подключения к моей базе данных, таблицу sql и т. Д. c? Я хочу, чтобы он работал так же, как и локально, перед использованием RDS

У меня есть код ниже для всего, что я только что упомянул:

Вот мой 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("My AWS RDS Endpoint", fd, headers)
        .then(res => {
            alert(res);
        }).catch(err => {
            alert(err);
    });
    }

    render() {
        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 mydb.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;

1 Ответ

0 голосов
/ 02 февраля 2020

http://localhost/*. php в вашей локальной системе будет находиться в папке root на вашем хосте - htdocs, publi c или www.

axion.post () должен указывать на этот файл. php, а не на конечную точку AWS.

Возможно, было бы безопаснее поместить свои учетные данные RDS в отдельный файл в папке под вашей публикацией c папка на случай, если по какой-то причине произошла ошибка, которая отображает ваш PHP в текстовом виде. По крайней мере, если вам «понадобится» файл, вы не сможете случайно предоставить свои учетные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...