我有一个Debian服务器,我在其上创建了一个非常简单的数据库:
MariaDB [data]> show columns from users;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| score | int(32) | YES | | NULL | |
+-------+--------------+------+-----+---------+----------------+
要访问这个数据库,我使用w3school教程制作了一个简单的PHP代码:
<?php
$servername = "localhost";
$username = "mysqlUser";
$password = "***********";
$dbname = "data";
echo $servername . " , " . $username . " , " . $password . " , " . $dbname;
//echo $_POST["name"]."test";
//echo $_POST["score"];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO users(name, score)
VALUES ('John', '1234')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
插入在服务器上工作得很好。所以我然后做了一个非常基本的html表单,询问名称和分数,然后调用php文件。我用Appach2服务器托管了这个表单。
当我从Web浏览器访问此服务器时,我可以填写表单,它正在调用php脚本,因为我看到第一个echo
参数,但连接创建崩溃。
html文件:
<!DOCTYPE HTML>
<html>
<body>
<form action="insert.php" method="post">
Name: <input type="text" name="name"><br>
Score: <input type="text" name="score"><br>
<input type="submit">
</form>
</body>
</html>
我只有一个内部错误:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
但这对我来说是全新的,一旦所有内容都在线,我找不到任何“好”教程来处理数据库。也许我没有以正确的方式做到这一点,不应该使用PHP,如果你有任何我可以看到的好资源或任何想法为什么连接不起作用它会很棒!