我正在为医疗网站创建日历。日历的功能是,如果我点击它的任何日期,如 2013-05-01,它将将该日期添加到数据库中并导航到下一页,我必须选择上午 9 点到下午 6 点之间的时间。例如,如果我选择像上午 9 点这样的任何时间,代码将检查数据库中是否已经存在日期为“2013-05-01”和时间为“09:00:00”的条目,如果它已经存在,我将被重定向到时间页面,并显示该时间已安排的消息,然后我将单击另一个时间,例如“10:00:00”,因此它将再次检查并说数据库中是否没有条目有日期'2013-05-01'和时间'10:00:00'然后它会添加这个条目....
我成功地指出,如果数据库中已经有一个条目,它会给我“这个时间已经安排好”的通知,然后我点击时间“10:00:00”,但它告诉我我的 sql 代码中有一些错误,但我检查了我在 phpmyadmin 中运行的代码,它工作正常......我不知道这是什么问题......
这是我得到的错误:
qry_check 更新失败:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '2013-05-01'' AND time='10:00:00'' 附近使用正确的语法
这是日历页面“re_sch_time.php”的代码
<?php
if(isset($_GET['result']))
{
$result=$_GET['result'];
if($result=='false')
{
echo "<p>Sorry! This time is already selected for appointment</p>";
}
else
{
echo "<p>Appointment Reschedualed</p>";
}
}
?>
<?php
if(isset($_GET['id']))
{
$id=$_GET['id'];
}
if(isset($_GET['date']))
{
$dat=$_GET['date'];
}
?>
<a href="re_sch_time_selected.php?time=nine&&id=<?php echo $id; ?>&&date=<?php echo $dat ?>">9</a>
<a href="re_sch_time_selected.php?time=ten&&id=<?php echo $id; ?>&&date=<?php echo $dat ?>">10</a>
这是我们可以选择时间're_sch_time_selected.php'的页面代码
<?php
if(isset($_GET['time']))
{
$time=$_GET['time'];
if(isset($_GET['id']))
{
$id=$_GET['id'];
}
if(isset($_GET['date']))
{
$dat=$_GET['date'];
}
switch($time)
{
case "nine":
$qry_check=mysql_query("SELECT * FROM patient WHERE date='".$dat."' AND time='09:00:00'");
if(!$qry_check)
{
die("qry_check update failed ".mysql_error());
}
else
{
while($time_check=mysql_fetch_array($qry_check))
{
echo $time_check['time'];
$pos=strpos($time_check['time'],'09:00:00');
if($pos===false)
{
$qry_time=mysql_query("UPDATE patient SET time='09:00:00' WHERE id='".$id."'");
if(!$qry_time)
{
die("qry time update failed:".mysql_error());
}
else{
header("Location: re_sch_time.php?result=true&id='".$id."'&date='".$dat."'");
}
}
else{
header("Location: re_sch_time.php?result=false&id='".$id."'&date='".$dat."'");
}
}// while time check ends here
}
break;
case "ten":
$qry_check=mysql_query("SELECT * FROM patient WHERE date='".$dat."' AND time='10:00:00'");
if(!$qry_check)
{
die("qry_check update failed: ".mysql_error());
}
else
{
while($time_check=mysql_fetch_array($qry_check))
{
echo $time_check['time'];
$pos=strpos($time_check['time'],'10:00:00');
if($pos===false){
$qry_time=mysql_query("UPDATE patient SET time='10:00:00' WHERE id='".$id."'");
if(!$qry_time){
die("qry time update failed:".mysql_error());
}else{
header("Location: re_sch_time.php?result=true&id='".$id."'&date='".$dat."'");
}
}
else{
header("Location: re_sch_time.php?result=false&id='".$id."'&date='".$dat."'");
}
}// while time check ends here
}
break;
}
注意:当我选择一个不在数据库中的日期和时间时,此代码运行得非常好,例如,如果没有日期为“2013-05-01”和时间为“09:00:00”的条目,那么我会没有得到任何错误,条目将被插入到表中......