【问题标题】:How to delete a composite primary key from mysql php using delete sql statement如何使用 delete sql 语句从 mysql php 中删除复合主键
【发布时间】:2015-08-06 14:55:39
【问题描述】:

我一直在尝试使用 delete sql 语句从表中删除一条记录,但我发现它很难。你能看看我的代码,看看有什么问题吗?

<?php 
     $name=$_REQUEST['student_id'];

     $query=mysql_query ("delete   from  studentmark
 where studentmark.CODE='$code'  AND studentmark.student_id='$name'");  
 header('location:homet.php?action=studentsubject'); 
     ?>

CREATE TABLE IF NOT EXISTS `studentmark` (
  `YEAR` int(4) NOT NULL,
  `TERM` varchar(15) NOT NULL,
  `CODE` varchar(7) NOT NULL,
  `STUDENT_ID` varchar(255) NOT NULL,
  `TEST` int(3) DEFAULT NULL,
  `EXAM` int(3) DEFAULT NULL,
  `TNAME` varchar(15) NOT NULL,
  PRIMARY KEY (`CODE`,`STUDENT_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

【问题讨论】:

  • 您很容易受到sql injection attacks 的攻击,而 HOW 这到底是怎么回事?除了 $code 未定义...
  • 作为@MarcB 所说的补充,您正在使用已弃用的代码。
  • 如果将delete from 更改为select * from,你会得到什么?如果您没有得到任何行,那么您的 where 子句不匹配任何行。请解释发生了什么问题。

标签: php mysql sql-delete composite-primary-key


【解决方案1】:

我可以通过使用下面的代码来解决这个问题。

<?php


include('../connection.php');
$id=$_GET['student_id'];


mysql_query("delete    from  studentmark
 where  student_id='$id'") or die(mysql_error());


 header('location:homet.php?action=studentsubject'); 
$conn->close();
 ?> 
 <div class='footer'>
  <p><center>


<a href=deletestudentsubject.php?student_id='.$fetch['student_id'].'><img src="../images/edit-icon.png" width=20 height=20 title=DELETE_RECORD /></a></td></tr>';

【讨论】:

    猜你喜欢
    • 2013-04-02
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    相关资源
    最近更新 更多