php - 通过php向DB插入数据失败

标签 php mysql database transactions

所以我有这个练习,我需要通过 php 插入将数据插入(并执行各种其他操作,我成功地完成了这些)数据到一个非常基本的数据库中,但我似乎无法这样做,而且我完全不知道为什么。

这是我的代码(免责声明,我才刚刚开始学习 php,所以任何建议将不胜感激!):

<?php 

include 'Connect.php';

$query = "INSERT INTO game ( product_id, product_name, multiplayer, pegi, genre, release_date, dis_id, dev_name) 
VALUES ('"
     .$_POST['product_id']."','"
     .$_POST['product_name']."','"
     .$_POST['multiplayer']."','"
     .$_POST['pegi']."','"
     .$_POST['genre']."',"
     .$_POST['release_date'].",'"
     .$_POST['publisher'].",'"
     .$_POST['developer']."')";

//execute query 
$queryexe = mysql_query($query);
if ($queryexe) { 
mysql_query("COMMIT");
print("<p><font size=\"+1\">Success!</font></p>");
} else { 
print("<p><font size=\"+1\">Error</font></p>");
} 

//disconnect from database 
mysql_close($connectionstring); 

?>

它连接到数据库,因为我可以看到游戏表中的内容,但我不知道为什么我不断收到错误。

提前致谢!

最佳答案

这是您因交易未完成而修改的代码

 include 'Connect.php';

  mysql_query("START TRANSACTION");

   $query = "INSERT INTO game ( product_id, product_name, multiplayer, pegi, genre, release_date, dis_id, dev_name) 
   VALUES ('"
 .$_POST['product_id']."','"
 .$_POST['product_name']."','"
 .$_POST['multiplayer']."','"
 .$_POST['pegi']."','"
 .$_POST['genre']."','"
 .$_POST['release_date']."','"
 .$_POST['publisher']."','"
 .$_POST['developer']."')";

  //execute query 
  $queryexe = mysql_query($query);
  if ($queryexe) { 
   mysql_query("COMMIT");
      print("<p><font size=\"+1\">Success!</font></p>");
  } else {
   mysql_query("ROLLBACK"); 
      print("<p><font size=\"+1\">Error</font></p>");
  } 

    //disconnect from database 
      mysql_close($connectionstring); 

您正在执行提交,但没有开始事务,并且在出现 mysql 错误或故障时没有回滚

作为建议,开始使用 mysqli 并且不要使用插入语句中连接的值。

编辑

发布商字段中的双引号后缺少一个引号

 .$_POST['release_date'].",'"
 .$_POST['publisher']."' // <--- this one

关于php - 通过php向DB插入数据失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20981175/

相关文章:

javascript - 通过滑动或单击显示文件夹中的图像, slider 样式(一张一张),具有多个选择

mysql - SQL Select - 复杂查询中的日期比较

mysql sql : how to cumulate count ?(计数总和)

sql - 如何通过生成 id SSIS 将表拆分为 Master/Detail?

sql - 什么是 "Advanced"SQL?

PHP MYSQL 显示结果,包括带有 Case 语句的 NULL

php - 定制产品销售闪光徽章

php - 如何在 PHP echo 语句中使用内联样式显式设置边框长度?

Java连接访问数据库失败?

Mysql 多重连接性能与 Django Rest Framework