所以我有这个练习,我需要通过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);
?>
它连接到数据库,因为我能够看到游戏表中的内容,但我不知道为什么我会得到一个常量错误。
提前致谢!
答案 0 :(得分:0)
以下是您的代码已修改,因为该交易不完整
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,不要在insert语句中使用连接的值。
修改强> 的
您在发布商字段中的双引号后缺少引号
.$_POST['release_date'].",'"
.$_POST['publisher']."' // <--- this one