内连接删除不起作用

时间:2013-03-17 18:30:13

标签: php html mysql inner-join sql-delete

我试图同时删除患者记录和与患者ID相关的任何约会,但两者都没有工作,有人可以告诉我哪里出错了吗?

我的代码是:

<?php
include("includes/staffmenu.php");
include("includes/staffsession.php");
@require_once("includes/dbconfig.inc");

$patid = $_GET['patid'];

$patientname = mysql_query("SELECT * From patient WHERE Patient_ID=$patid");
    while($row = mysql_fetch_array($patientname))
        {   $pfname=$row['Patient_First_Name'];
            $pmname=$row['Patient_Middle_Name'];
            $psname=$row['Patient_Surname'];
        }

  echo "<h1>Success $pfname $pmname $psname (Patient ID: $patid) has been removed from our database, along with any appointments in their name</h1>";

    mysql_query("DELETE FROM appointment, patient 
    USING patient INNER JOIN appointment ON (patient.Patient_ID = appointment.Patient_ID) 
    WHERE patient.Patient_ID='$patid'");

  ?>

它肯定是患者ID,因为患者ID的名称很好......

1 个答案:

答案 0 :(得分:1)

DELETE patients, appointments FROM patients
LEFT JOIN appointments USING(Patient_ID)
WHERE Patient_ID = 1

ref http://dev.mysql.com/doc/refman/5.5/en/delete.html

PS。考虑使用params来传递patid,因为你直接使用GET中的值打开sql注入

http://php.net/manual/en/mysqli-stmt.bind-param.php

PPS。你也应该把回声放在最后,因为那时你还没有实际删除:)