这可能是一个愚蠢的问题,但我正在寻找一种在 HTML 网页上使用 JavaScript 来发布和获取 MySQL 数据库的方法。因为我正在制作一个小游戏并希望实时保存信息。我可以使用 PHP 来做到这一点,但是当然这在页面加载上不会是实时的。
提前致谢。 蒂姆。
PHP 示例
<?
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['btnP1Login'])) {
$myFile=fopen("P1Status.txt","w") or exit("Can’t open file!");
fwrite($myFile, 'Online');
fclose($myFile);
header('Location: lobby.php');
}
if (isset($_POST['btnP2Login'])) {
$myFile=fopen("P2Status.txt","w") or exit("Can’t open file!");
fwrite($myFile, 'Online');
fclose($myFile);
header('Location: lobby.php');
}
}
?>
<html>
<body>
<div id="player1">
<p>Player 1 - Offline</p>
<form method="post" action="index.php">
<input type="submit" name="btnP1Login">
</form>
</div>
<div id="player2">
<p>Player 2 - Offline</p>
<form method="post" action="index.php">
<input type="submit" name="btnP2Login">
</form>
</div>
</body>
</html>
最佳答案
出于多种原因(不良做法、安全问题等),您不应该使用客户端 javascript 访问数据库,但如果您确实想这样做,这里有一个示例:
var connection = new ActiveXObject("ADODB.Connection") ;
var connectionstring="Data Source=<server>;Initial Catalog=<catalog>;User ID=<user>;Password=<password>;Provider=SQLOLEDB";
connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");
rs.Open("SELECT * FROM table", connection);
rs.MoveFirst
while(!rs.eof)
{
document.write(rs.fields(1));
rs.movenext;
}
rs.close;
connection.close;
连接到 SQL 服务器的更好方法是使用某种服务器端语言,例如 PHP、Java、.NET 等。客户端 JavaScript 只能用于接口(interface)。
有传言说有一个关于服务器 JavaScript 存在的古老传说,但这是另一个故事了。 ;)
关于javascript - 将 MySQL 与使用 Javascript 的 HTML 页面结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48611626/