php - 无法使用php将数据插入mysql数据库

标签 php mysql insert

我在通过 PHP 向表中插入数据时遇到问题。 “cc_connect.php”是连接数据库的文件。表格在那里,但是当我提交它时,没有数据添加到我的表格中。我遵循了几个教程并匹配了他们的方法但没有成功。我的数据库中没有设置什么吗?

函数 $dbcon 与我的连接相关联

<form method="post" action="cc_registration.php">
<input type="hidden" name="submitted" value="true" />

    First Name: <input type="text" name="first_name" />
    Last Name: <input type="text" name="last_name" />

<br />
<input type="submit" value="submit" />

  <?php

   if(isset($_POST['submit'])) {

   include ('cc_connect.php');

   if (!$dbcon) {

   die("Can not Connect: " . mysql_error());

}

   mysql_select_db("cooperstown",$dbcon);

$sql = "INSERT INTO cobra_registration (first_name,last_name) VALUES ('$_POST[first_name]', '$_POST[last_name]')";

mysql_query($sql,$dbcon);



mysql_close($dbcon);

}

  ?>

最佳答案

$_POST['submit'] 从未设置,因为您传递的是 submitted

改变:

<input type="hidden" name="submitted" value="true" />

到:

<input type="hidden" name="submit" value="true" />

作为旁注,您当前的查询很容易被黑客攻击。使用 Prepared statements 而不是像 PDO 或 MysQLi,这里是 PDO 中的一个例子:

$fName = isset($_POST['first_name']) ? $_POST['first_name'] : '';
$lName = isset($_POST['last_name']) ? $_POST['last_name'] : '';

if ($fName && $lName) {
   $stmt = $db->prepare('
      INSERT INTO cobra_registration (first_name,last_name) 
      VALUES (:fname, :lname)
   ');

   $stmt->bindParam(':fname', $fName, PDO::PARAM_STR);
   $stmt->bindParam(':lname', $lName, PDO::PARAM_STR);

   $res = $stmt->execute();

   if ($res) {
      echo 'Success';
   } else {
      echo 'Failure';
   }
}

关于php - 无法使用php将数据插入mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24686377/

相关文章:

mysql - 使用现有行中的数据插入行

c++ - std::set.insert 不会与自定义类一起编译

php - Yii 中的动态表单

如果未选中复选框,PHP 会更新数据库

php - UTF-8逗号的不同变体? [,] [,] - MySQL 数据的 CURL 响应

mysql - 当一个表有很多引用时,高效地查询表

php - 将 php 数组插入 mySql

javascript - 如何在jquery中循环遍历ID

MySQL:引用外键

php - 无法确定 INSERT PDO 错误。 SQLSTATE[42000] : Syntax error or access violation