在 SQL 数据库网页中删除一行 [重复]

Posted

技术标签:

【中文标题】在 SQL 数据库网页中删除一行 [重复]【英文标题】:Deleting a row within SQL database webpage [duplicate] 【发布时间】:2017-04-25 09:11:44 【问题描述】:

我的目标是让用户单击一行中的按钮以删除数据库中的该行。

按钮声明如下:

<td><button class="btn btn-default" onclick="removeStudent()" button id= <?php echo $productDetails["studentID"]; ?> type="button">Delete</button></td>            

remove函数如下:

<script>                    
                function removeStudent() 
                    $id = window.event.target.id.toString();
                    $sql = "DELETE FROM tableStudent WHERE studentID= '$id'" ;

                    if (mysqli_query($connection, $sql)) 
                        echo "Record deleted";
                     else 
                        echo "Error deleting";
                    

                
</script>

网页已连接到数据库,变量名称正确且可在其他函数中使用。只是删除功能不起作用。任何帮助将非常感激。

【问题讨论】:

^ 开头的文本。 PHP 和 javascript 不能一起工作。 Javascript 需要向 PHP 将执行并返回响应的服务器发送请求 (AJAX)。此外,DELETE FROM tableStudent WHERE studentID= '$id' 会让您面临 SQL 注入。使用参数化查询。 【参考方案1】:

看起来您在这里混合使用 javascript 和 PHP。我不确定您是否了解 PHP 的工作原理。您页面上的任何 PHP 代码都会在页面发送给用户之前运行,因此您不能将 PHP 内容放入 javascript 函数中(当然可以,但它会在读取 javascript 之前运行并转换为纯文本)由用户的浏览器。)所以你去$id = window.event.target.id.toString();的行将不起作用,因为你试图使用javascript设置一个PHP变量。实际上,这些代码都不会做任何事情,因为它不在 &lt;?php 块内。它只会在浏览器控制台中导致错误,因为它是无效的 javascript 代码。

您需要让您的 javascript 函数对另一个 PHP 页面进行 ajax 调用,该页面实际上执行了删除操作

【讨论】:

以上是关于在 SQL 数据库网页中删除一行 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

sql 一个字段有多条数据 在一行显示

SQL里不能删除数据(在线等~~)

SQL中表里面怎么删除重复数据

如何清除SQL数据库中的数据?

怎么删除ACCESS中的重复记录 只保留一条

7-3 去掉重复的数据