它有一些错误,当我运行删除脚本


It have some error when i run the delete script

错误是:

你的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