我有兩個問題,兩者都鏈接。首先,如果兩個客戶選擇相同的產品(pg_no)和日期(日期),則「已經預訂 - 請選擇另一個日期」未出現。這些字段是唯一約束。
二,數據插入或提交時localhost顯示完成地址 http://localhost/lstcomp/index.php?note=submitted。但是,當它失敗本地主機只顯示:http://localhost/lstcomp/php&mysql請選擇其他日期 - 消息沒有出現
<?php
//connecting string
include("dbconnect.php");
//assigning
$name = $_REQUEST['Name'];
$tele = $_REQUEST['Tele'];
$city = $_REQUEST['City'];
// UNIQUE CONSTRAINT
$pg_no = $_REQUEST['pg_no']; //product
$date = $_REQUEST['Date']; //date
//checking if pg_no and Date are same
$check = mysqli_query($db_connect, "SELECT * FROM lstclient WHERE pg_no='{$pg_no}', Date='{$date}'");
{
echo "Already booked please select another date<br/>";
}
//if not same then insert data
else
{
$query = mysqli_query($db_connect, "INSERT INTO lstclient(pg_no,Name,Tele,City,Date) VALUES('$pg_no','$name','$tele','$city','$date')") or die(mysql_error());
}
mysqli_close($db_connect);
// messaging
if ($query) {
header("location:index.php?note=failed");
} else {
header("location:index.php?note=success");
}
?>
嘗試重新縮進代碼,因爲在調用echo之前沒有「if」語句,只有括號。 – Orionss
如果你的查詢失敗,它會調用'die(mysql_error());'它退出你的代碼。所以'header(「location:index.php?note = failed」);'永遠不會被調用(也是交換消息)。 – MadMarc
如果答案解決了您的問題,請考慮接受答案。以下是http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work然後返回到此處,並使用勾號/複選標記執行相同操作,直至變爲綠色。這告知社區,找到了解決方案。否則,其他人可能會認爲這個問題仍然存在,並且可能需要發佈(更多)答案。您將獲得積分,其他人將被鼓勵幫助您。 *歡迎來到Stack!* –