php - 编辑代码后MySQL数据库中的重复项
问题描述
我的 PHP 代码有问题。
我正在尝试为我和另一个人正在开发的小型游戏项目制作关卡创建功能。
我的代码有效..但会产生很多重复。
这是代码:(不要嘲笑我这是多么脆弱,这最终会得到修复,这只是测试代码,在任何情况下都不会出现在公共服务器上,好吗?)
$mysqli = new mysqli("localhost", "Username", "Password", "sys");
$SqlQuery = "INSERT INTO levels (levelname, levelauthor, leveldata)
VALUES(\"" . $_GET["levelName"] . "\", \"" . $_GET["levelAuthor"] . "\", \"" . $_GET["levelData"] . "\");";
$query2 = "SELECT * FROM levels WHERE leveldata = \"" . $_GET["levelData"] . "\";";
//echo "SELECT * FROM levels WHERE leveldata = \"" + $_GET["levelData"] + "\";";
$uresult = $mysqli->query($SqlQuery, MYSQLI_USE_RESULT);
$res2 = $mysqli->query($query2, MYSQLI_USE_RESULT);
if ($uresult) {
while ($row = $res2->fetch_assoc()) {
//This should always work. Lol
echo "(SUC)|ID:" . $row["levelid"];
}
}
运行此代码后,我希望只检查我的数据库并能够看到我编写的测试,没有重复。我启动了 PHP 开发服务器并转到:
http://localhost/Create.php?levelName=PHPTest&levelAuthor=Test3&levelData=[snip]
我希望看到类似于“(SUC)|ID:4”的内容(当时数据库中有 3 个条目),但我看到了:
(SUC)|ID:4(SUC)|ID:5(SUC)|ID:6(SUC)|ID:7(SUC)|ID:8(SUC)|ID:9(SUC)|ID:10(SUC)|ID:11
这是出乎意料的。我认为这只是我的代码中的一个错误(请记住,最后一个有一个损坏的 ID 抓取系统,但是可以工作),并且它会工作,但是后来,我去检查数据库,看到了很多具有相同数据的重复项。
有谁知道如何修复此代码?
解决方案
明显的问题,但在数据库上启用了自动提交?你有一些公开的交易吗?
使用它来检查 MySQL 上的打开事务。
推荐阅读
- python-3.x - 检查列表元素是否是从列表中添加其他元素的结果
- python - 大家好你们好。我正在用 django 开店,但自定义用户有问题
- vue.js - 按钮单击nativescript vue后的空文本字段
- python - Pandas 动态添加列和索引并更新现有列
- sql - 在 PostgreSQL 表中排序,保留前行的值
- javascript - & 符号、对象属性和按钮的 innerHTML
- php - 如何使用放置在 Codeigniter 3 中的 views 目录中的资产?
- css - 更改字体大小而不影响 div 父高度
- optimization - 如何使用 Pyomo 或 Julia 将 KKT 条件、双重可行性约束添加到原始模型中?
- python - ImportError:无法从“app”导入名称“app”