如何使用React连接到SQL数据库?

时间:2018-10-25 20:25:54

标签: javascript php sql database reactjs

我目前有一个用HTML和PHP编写的网站,可以访问我的SQL数据库。我现在已经开始学习React,并且希望我的超级简单网站也连接到SQL数据库。

以前我已经做到了:

<php
    $conn = mysqli_connect($serverIP, $dbusername,$dbpassword,$dbname);
    if(mysqli_errno($conn)) {
     die("<p>MySQL error:</p>\n<p>" . mysqli_error($conn) . "</p>\n</body>\n</html>\n");
    }
?>

,然后在index.php文件中,执行以下操作:

<?php include_once "connection.php"; ?>

并继续使用基本SQL来获取数据。

我如何在React中做同样的事情?更具体地说,我如何在React中编写PHP以能够连接到SQL数据库?这段代码看起来如何?

另外,当我自己学习React时,如果有一个人们可以审查代码并可以收到改进技巧的地方,那就太好了。有这样的网站/社区吗?

1 个答案:

答案 0 :(得分:0)

我认为您可能还不了解如何将各层完美地组合在一起(不用担心-花费一些时间将头缠起来)。在您的情况下,您的服务器端(PHP)代码将进行所有数据库调用并检索/修改所需的任何数据(毕竟,您不希望在客户端上查看数据库凭据!)。

为了显示或更改来自React JS前端的数据,您需要一种将这些意图传达给后端的方法。这可以通过在PHP代码库中创建REST端点来完成,然后需要从React JS代码中调用它(您可以使用Axios,fetch或许多其他HTTP库)。

这是我在reddit上从/ u / roboctocat获取的一个非常简单的示例: https://www.reddit.com/r/reactjs/comments/8lb6u3/can_anyone_provide_me_a_basic_example_tutorial/

您的客户代码:

// index.jsx
class MyComponent extends React.Component {
    onClick() { 
        fetch("http://your-php-server/ping-pong.php")
            .then(res => res.json()) 
            .then((result) => { console.log(result); }) 
    }

    render() { 
        return ( 
            <button onClick={this.onClick} /> 
        ); 
    } 
}

以及您的服务器代码:

// ping-pong.php
<?php
    header('Content-Type: application/json'); 
    echo json_encode(array('ping' => 'pong')); 
?>