在 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变量。实际上,这些代码都不会做任何事情,因为它不在 <?php
块内。它只会在浏览器控制台中导致错误,因为它是无效的 javascript 代码。
您需要让您的 javascript 函数对另一个 PHP 页面进行 ajax 调用,该页面实际上执行了删除操作
【讨论】:
以上是关于在 SQL 数据库网页中删除一行 [重复]的主要内容,如果未能解决你的问题,请参考以下文章