我目前有一个用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时,如果有一个人们可以审查代码并可以收到改进技巧的地方,那就太好了。有这样的网站/社区吗?
答案 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'));
?>