由于某种原因,我用于 POST 到 Godaddy 托管上的 SQL 的 PHP 代码无法正常工作。我添加了调试语句,但我只是不确定为什么它无法正常工作。这让我发疯。
这是我名为“homepage.php”的文件:
<?php
if (isset($_POST['submitted'])) {
include('mysql_connection.php');
$entry = $_POST['entry'];
$sql = "INSERT INTO posts (typed) VALUES ('$entry')";
if (!mysqli_query($dbcon, $sql)) {
die('Error inserting text.');
}
$newentry = "One entry added to the database.";
}
?>
HTML
<html>
<head> </head>
<body>
<center>
<form method="post" action="homepage.php">
<input type="hidden" name="submitted" value="true" />
<input type="text" name="entry" maxlength="200" />
<br></br>
<input type="submit" value="insert" />
</form>
</center>
<?php echo $newentry?>
</body>
</html>
我的数据库名为“subpost-db”,其中包含表“posts”和名为“typed”的列,其中包含 VARCHAR 值。
我的 SQL 连接文件名为“mysql-connection.php”,代码如下:
<?php
DEFINE ('DB_USER', 'xxxxxxxxxx');
DEFINE ('DB_PSWD', 'xxxxxxxxxx');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'subpost-db');
$dbcon = mysqli_connect(DB_HOST, DB_USER, DB_PSWD, DB_NAME);
if (!$dbcon) {
die('Error connecting to the requested database. ');
}
?>
顺便说一句,当我在我的网站上访问 mysql-connection.php 时,调试消息不会弹出。
当我在表单上输入内容后单击“插入”时,它会重新加载我的表单所在的 homepage.php,并且仅显示“插入文本时出错”的文本。但我不确定问题是什么。
最佳答案
您从查询中收到错误,因此在向数据库发出查询的代码之后将正确的报告添加到测试中,它会告诉您出了什么问题。
<?php
// from Fred-ii- comment
error_reporting(E_ALL);
ini_set('display_errors', 1);
if (isset($_POST['submitted'])) {
include('mysql_connection.php');
$entry = $_POST['entry'];
$sql = "INSERT INTO posts (typed) VALUES ('$entry')";
if (!mysqli_query($dbcon, $sql)) {
die('Error inserting text. ' . mysqli_error($dbcon) ); //<-- changed line
}
$newentry = "One entry added to the database.";
}
?>
关于PHP 和 SQL 无法发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32186413/