繁体   English   中英

MySQL-PHP表格将值插入表格?

[英]MySQL - PHP form to insert values into table?

我想使用一种简单的形式向数据库添加注释。 无论出于什么原因,当我使用上述表格时,似乎都无法更新表格。 我没有收到任何错误,只是稍后再刷新表时什么也没有发生。 换句话说,即使提交表单后,该表仍具有0个条目。 这是我的代码:

<?php
session_start();
$connection = mysql_connect("server", "username", "password");
if ($connection->connect_error) {
    die('Connect Error: ' . $connection->connect_error);
}
// Selecting Database
mysql_select_db("database", $connection) or die(mysql_error());

$name = $_POST['name'];
$title = $_POST['title'];
$comments = $_POST['comments'];

$sql = "INSERT INTO comments (Name, Title, Comments)
VALUES ('$name', '$title', '$comments')";

mysql_close($connection); // Closing Connection

?>

谢谢您的帮助!

您实际上从未执行过查询:

$sql = "INSERT INTO comments (Name, Title, Comments)
VALUES ('$name', '$title', '$comments')";
$result = mysql_query($sql);

其他事情:

  1. if ($connection->connect_error) {无效。 您不能以OOP方式使用旧的mysql API。 您需要为此使用mysqli

  2. 请不要在新代码中使用mysql_*函数 它们不再维护,已正式弃用 看到红色框了吗? 相反,要了解准备好的语句 ,并使用PDOMySQLi- 本文将帮助您确定哪一个。 如果您选择PDO, 这是一个很好的教程

  3. 您还可以接受SQL注入

  4. 不进行错误检查。 如果您不查找问题,您如何期望知道是否存在问题?

(注意:请更改服务器,用户名和密码以获取服务器信息)

 <?php
    session_start();
    $connection = mysql_connect("server","username","password");
    if (!$connection) {
        die('Connect Error: ' . mysql_error());
    }
    // Selecting Database
    mysql_select_db("database",$connection) or die(mysql_error());

    $name = $_POST['name'];
    $title = $_POST['title'];
    $comments = $_POST['comments'];

    $sql = "INSERT INTO comments (Name,Title,Comments)
    VALUES ('$name', '$title', '$comments')";

    mysql_query($sql);
    mysql_close($connection); // Closing Connection

    ?>

为了安全(防止SQL注入),您可以将mysql_real_escape_string函数用于限制输入字段。 例如:

$name = mysql_real_escape_string($_POST['name']);
$title = mysql_real_escape_string($_POST['title']);
$comments = mysql_real_escape_string($_POST['comments']);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM