无法将数据从react-native应用发布到mySQL

时间:2019-08-26 05:21:48

标签: php mysql react-native

我正在尝试使用React本机应用程序中的访存来将数据发布到使用php作为在线mySQL数据库。

代码从我的user_registration.php文件返回了我的错误“重试”警报,并且没有将数据发布到我的数据库中。

我正在使用此示例教程https://tutorialscapital.com/insert-data-into-database-through-php-mysql-react-native-android-ios-tutorial/ 我已经检查了config_file.php以确保我的要求正确,并且认为这可能是服务器权限问题。我目前正在使用arvixe。

本机代码

    export default class DataTestScreen extends Component
{
    constructor()
    {
        super();

        this.state = { first_name: '', last_name: '', loading: false, disabled: false }
    }

    saveData = () =>
    {
        this.setState({ loading: true, disabled: true }, () =>
        {
            fetch('https://xchangepost.com/user_registration.php',
            {
                method: 'POST',
                headers: 
                {
                    'Accept': 'application/json',
                    'Content-Type': 'application/json',
                },
                body: JSON.stringify(
                {
                    first_name: this.state.first_name,

                    last_name: this.state.last_name
                })

            }).then((response) => response.json()).then((responseJson) =>
            {
                alert(responseJson);
                this.setState({ loading: false, disabled: false });
            }).catch((error) =>
            {
                console.error(error);
                this.setState({ loading: false, disabled: false });
            });
        });
    }    

下面是我的php配置文件

<?php

$host_name = "localhost";

$database_name = "xchangep_database";

$host_user = "xchangep_user123";

$host_password = "user321";

下面是我的注册php文件,我的警报来自 //如果($ query_result === true)

<?php

include 'config_file.php';

$message = '';

$connection = new mysqli($host_name, $host_user, $host_password, $database_name);

if ($connection->connect_error)
{
 die("Connection failed: " . $connection->connect_error);
} 

$json = json_decode(file_get_contents('php://input'), true);

$query = "INSERT INTO registration(first_name, last_name) values('$json[first_name]', '$json[last_name]')";

$query_result = $connection->query($query);

if ($query_result === true)
{
 $message = 'Success!';
}

else
{
 $message = 'Error! Try Again.';
}

echo json_encode($message);

$connection->close();

1 个答案:

答案 0 :(得分:0)

使用CampbellMG的输入$message = 'Error! Try Again(' . $connection->error . ')';的解决方案,我发现了问题,这表明我最终在数据库名称中打了一个错字。这是一个很棒的工具。非常感谢。