【发布时间】:2016-01-21 22:53:35
【问题描述】:
我正在做一些 php + mysql 来删除我的数据库中的行,当我按下按钮时没有任何反应的问题。非常感谢您的帮助。
这个 PHP 显示了一个类型的员工必须做的课程列表,删除按钮应该删除您选择的列表中的课程。
例如
cargocurso.php?id=1
显示员工的类型,例如:
销售经理
并在表格中列出与该类型员工相关的课程:
1 |销售 | (删除按钮)
<?php
$link = mysql_connect("localhost", "root","123456");
mysql_select_db("ecl", $link);
if (isset($_GET['id'])) {
$id=$_GET['id'];;
$sql = mysql_query("select k.idcargo, c.fullname, k.nombre_cargo, d.cursoid, d.id from mdl_course as c
inner join mdl_user_cursos_asoc as d on c.id = d.cursoid
inner join mdl_user_cargo as k on d.cargoid = k.idcargo where k.idcargo=$id", $link);
if (isset($_POST['delete'])) {
$idasoc = $_POST['idasoc'];
$sql2 = "DELETE FROM mdl_user_cursos_asoc WHERE id = '.$idasoc.'";
$result = mysql_query($sql2);
echo "has been deleted.";
}
if(mysql_num_rows($sql) == 0) {
echo "No hay cursos asociados";
} else {
$cargnombre = mysql_fetch_array($sql);
echo $cargnombre[2]."</br></br>";
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
echo "<table border='1px'>";
while ($row = mysql_fetch_array($sql)) {
echo "<tr>";
echo "<input type='hidden' name='idasoc' value = '.$row[4].'>";
echo "<td>$row[1]</td>";
echo "<td><input type='submit' name='delete' value='Eliminar'></td>";
echo "</tr>";
}
echo "</table>";
echo "</form>";
}
}
?>
感谢您的帮助!
【问题讨论】:
-
您不应使用已弃用的
mysql_*函数。改用 mysqli 或 PDO,您的代码对 SQL 注入开放。总是逃避你的输入! (如果你使用 mysqli 或 PDO,你应该为此使用准备好的语句)。 -
你有没有使用isset($_POST['idasoc'])检查过POST变量$idasoc是否有任何值????
-
查看以下链接 php.net/manual/en/function.mysql-error.php 和 php.net/manual/en/function.error-reporting.php 并将其应用到您的代码中,您将看到您所犯的错误。
标签: php mysql delete-row