PHP 无法发布到 MySQL 数据库

标签 php mysql database

我有一个 formText.php 文件,其中包含一个表单,表单代码如下:

<form action="insert.php" method="post">
    <p>
        <label for="theNames">Name:</label>
        <input type="text" name="theName" id="theName">
    </p>
    <p>
        <label for="theCitys">City:</label>
        <input type="text" name="theCity" id="theCity">
    </p>
    <p>
        <label for="theAges">Are you over eighteen?(Y/N)</label>
        <input type="text" name="theAge" id="theAge">
    </p>
    <p>
    <label for="theDates">Date:</label>
    <input type="text" name="theDate" id="theDate">
    </p>
    <input type="submit" value="Submit">
</form>

然后我有一个包含以下脚本的 insert.php 文件:

<?php
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("localhost", "root", "root","phpteste");

// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

// Escape user inputs for security (EDITED)
$theName = mysqli_real_escape_string($link, $_POST['theName']);
$theCity = mysqli_real_escape_string($link, $_POST['theCity']);
$theAge = mysqli_real_escape_string($link, $_POST['theAge']);
$theDate = mysqli_real_escape_string($link, date("Y-m-d h:i:s",$_POST['theDate']));


// attempt insert query execution
$sql = "INSERT INTO tabelateste (id, name, city, overeighteen, date) VALUES (NULL, '$theName', '$theCity', '$theAge', '$theDate')";
if(mysqli_query($link, $sql)){
    echo "Records added successfully.";
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

// close connection
mysqli_close($link);
?>

我的数据库名为 phpteste,我的表名为 tabelateste。 我在这里做错了什么? 每当我单击“提交”时,什么都不会出现,也不会向数据库中添加任何内容。

最佳答案

您的帖子数据名称字段有误。所以您需要更改以下行:

// Escape user inputs for security
$theName = mysqli_real_escape_string($link, $_POST['theName']);
$theCity = mysqli_real_escape_string($link, $_POST['theCity']);
$theAge = mysqli_real_escape_string($link, $_POST['theAge']);
$theDate = mysqli_real_escape_string($link, date("Y-m-d h:i:s",$_POST['theDate']));

您需要根据您的数据库表结构将 date 更改为 signup_date

$sql = "INSERT INTO tabelateste (name, city, overeighteen, signup_date) VALUES ('$theName', '$theCity', '$theAge', '$theDate')";

关于PHP 无法发布到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34563053/

相关文章:

php - Smarty:是否可以在模板中调用 PHP 函数(从 Controller 类)?

php - Facebook 好友计数器

php - MySQL 查询未执行? - 也没有错误

mysql - 使用存储过程或查询

python - Django 中将foreignkey 放在哪里?

php - Cakephp Sqlserver编码

mysql - 错误1215 MYSQL 无法添加外键约束,

php - 如果数组包含文本值,则将它们添加到数据库 MYSQL

mysql - 验证我的数据库关系?

MYSQL创建多个外键表错误