错误是:
你的SQL语法有错误;查看与MySQL服务器版本对应的手册,在第1行"sarojini'_booking WHERE date=2014-07-24 AND start=10:00:00"附近使用正确的语法
<?php
session_start();
require ('sql_connect.php');
if (isset($_SESSION['id']) && is_numeric($_SESSION['id']))
{
$id=$_SESSION['id'];
$sql1 = mysql_query("SELECT name FROM lecturer WHERE staff_id ='$id'");
$q = mysql_fetch_array($sql1);
$n = $q['name'];
$sql2 = mysql_query("SELECT * FROM bookings WHERE lecturer_name='$n' ORDER BY date");
$q1 = mysql_fetch_array($sql2);
$d = $q1['date'];
$s = $q1['start'];
$result = mysql_query("DELETE FROM '$n'_bookings WHERE date=$d AND start=$s")
or die(mysql_error());
//header("Location: manageappointment1.php");
}
else
{
//header("Location: manageappointment1.php");
}
?>
您的查询:"DELETE FROM '$n'_bookings WHERE date=$d AND start=$s"
"DELETE FROM ".$n."_bookings WHERE date=$d AND start=$s"
实际上这个查询是正确的,它只是关于你的var ..
你也可以写:
"DELETE FROM {$n}_bookings WHERE date=$d AND start=$s"
代替
$result = mysql_query("DELETE FROM '$n'_bookings WHERE date=$d AND start=$s")or die(mysql_error());
使用 $result = mysql_query("DELETE FROM ".$n."_bookings WHERE date='$d' AND start='$s'")or die(mysql_error());
我认为这是因为你使用了简单的引号。使用这个:
DELETE FROM $n_bookings WHERE date=$d AND start=$s