我试图同时删除患者记录和与患者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的名称很好......
答案 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。你也应该把回声放在最后,因为那时你还没有实际删除:)