Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过php将数据插入数据库时失败_Php_Mysql_Database_Transactions - Fatal编程技术网

通过php将数据插入数据库时失败

通过php将数据插入数据库时失败,php,mysql,database,transactions,Php,Mysql,Database,Transactions,因此,我有一个练习,我需要通过php插入将数据插入(并执行各种其他操作,我成功地完成了这些操作)到一个非常基本的数据库中,但我似乎无法这样做,我完全不知道为什么 这是我的代码(免责声明,我才刚刚开始学习php,所以任何建议都将不胜感激!) 这是您的代码修改,因为该事务未完成 include 'Connect.php'; mysql_query("START TRANSACTION"); $query = "INSERT INTO game ( product_id, produc

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

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


这是您的代码修改,因为该事务未完成

 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); 
包括“Connect.php”;
mysql_查询(“启动事务”);
$query=“插入游戏(产品id、产品名称、多人游戏、pegi、流派、发行日期、发行id、开发名称)
值(''
.$\u POST['product\u id']。“,”
.$\u POST['product\u name']。“,”
.$\u POST['multiplayer']。“,”
.$邮政['pegi'].“,”
.$(体裁).“,”
.$发布日期['release_date']。“,”
.$\u POST['publisher']。“,”
.$_POST[“开发者”]。“)”;
//执行查询
$queryexe=mysql\u query($query);
如果($queryexe){
mysql_查询(“提交”);
打印(“成功!

”; }否则{ mysql_查询(“回滚”); 打印(“错误”

”; } //断开与数据库的连接 mysql_close($connectionstring);
您正在执行一个提交,没有请求一个事务,并且在mysql出错或失败的情况下没有回滚

建议您开始使用mysqli,不要在insert语句中使用连接的值

编辑

在publisher字段中的双引号后缺少引号

 .$_POST['release_date'].",'"
 .$_POST['publisher']."' // <--- this one
$\u POST[“发布日期]。”,“

..$\u POST['publisher'].“//我只是从print收到错误消息,但我的室友正在忙于处理一个类似的db,并在本地连接到它(我使用的是我大学的远程服务器),他收到了一条“未定义变量”错误消息。
release\u date
,除非它是一个数字,否则需要加引号。引用dates的话:“我只是在乞求学习php,所以任何建议都将不胜感激”-mysql$_发布查询?字体标签??!丢掉你正在使用的教程,重新开始@你应该使用mysqli或pdo。产品id不应该出现在quotationYeah,我知道commit是关于事务的,我有点忘了。但是,完整的事务代码没有修复错误。@persongr它报告给您的错误是什么?添加这个
$queryexe=mysql\u query($query)或die(mysql\u error())并在此处打印浏览器返回的错误。“您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,在第2行“我在developer字段输入了DICE”附近使用正确的语法。@persongr检查我对答案的编辑,希望它能帮助我修复它,并找到另一个小语法,但是现在连接超时了!
 .$_POST['release_date'].",'"
 .$_POST['publisher']."' // <--- this one