删除基于 php 中的 varchar 主键的行
Deleting a row which is based on a varchar primary key in php
我正在尝试删除 php 中的 table 中的特定行,并且我正在尝试使用恰好属于 varchar
类型的主键,主键是 course_Code
course_Code||course_Title||credit_Load||lecturer_id
csc 450 || S.E || 3 || 0
lecturer_id
对于所有添加的记录将始终为 0,因为我想将其用作外键,只有这样值才会从 0 更改为其他值;问题是当我在 table 中只有一个值并删除它时,查询运行但是添加了一个新行,其中只有 credit_Load
和 lecturer_id
的值为 0 而另一个列为空:
course_Code||course_Title||credit_Load||lecturer_id
|| || 0 || 0
这是我为firstpage.php
编写的代码,$result['course_Code']
中的值是从数据库中获取的课程代码:
<a href="processor3.php?coursecode=<?php echo $result['course_Code']; ?>
然后processor3.php
:
if (isset($_GET['coursecode'])){
$course_id = $_GET['coursecode'];
$query = mysql_query("DELETE FROM courses WHERE course_Code = '$course_id'");
header("Location:firstpage.php?succ=2");
}
我知道我在 php 中使用已弃用的方式连接到 mysql,但这不是主要问题,我正在尝试教某人 php 并且他似乎不太了解 pdo 绑定,所以我希望我们慢慢进步到 pdo。我想我是个糟糕的老师。
太可怕了太可怕了!!!
$query = mysql_query("DELETE FROM courses WHERE course_Code = '$course_id'");
请不要教任何人这样查询。应转义所有变量,否则存在 SQL 注入漏洞。
关于您的问题,我怀疑有 2 个可能的问题:
- 在您不知情的地方调用了一个添加行的脚本
- 您使用错误的 MySQL 查看器来确认删除后 table 的内容。
您确定以上两种情况都没有发生吗?
我正在尝试删除 php 中的 table 中的特定行,并且我正在尝试使用恰好属于 varchar
类型的主键,主键是 course_Code
course_Code||course_Title||credit_Load||lecturer_id
csc 450 || S.E || 3 || 0
lecturer_id
对于所有添加的记录将始终为 0,因为我想将其用作外键,只有这样值才会从 0 更改为其他值;问题是当我在 table 中只有一个值并删除它时,查询运行但是添加了一个新行,其中只有 credit_Load
和 lecturer_id
的值为 0 而另一个列为空:
course_Code||course_Title||credit_Load||lecturer_id
|| || 0 || 0
这是我为firstpage.php
编写的代码,$result['course_Code']
中的值是从数据库中获取的课程代码:
<a href="processor3.php?coursecode=<?php echo $result['course_Code']; ?>
然后processor3.php
:
if (isset($_GET['coursecode'])){
$course_id = $_GET['coursecode'];
$query = mysql_query("DELETE FROM courses WHERE course_Code = '$course_id'");
header("Location:firstpage.php?succ=2");
}
我知道我在 php 中使用已弃用的方式连接到 mysql,但这不是主要问题,我正在尝试教某人 php 并且他似乎不太了解 pdo 绑定,所以我希望我们慢慢进步到 pdo。我想我是个糟糕的老师。
太可怕了太可怕了!!!
$query = mysql_query("DELETE FROM courses WHERE course_Code = '$course_id'");
请不要教任何人这样查询。应转义所有变量,否则存在 SQL 注入漏洞。
关于您的问题,我怀疑有 2 个可能的问题:
- 在您不知情的地方调用了一个添加行的脚本
- 您使用错误的 MySQL 查看器来确认删除后 table 的内容。
您确定以上两种情况都没有发生吗?