名前を入力してRESTAURANTテーブルにレストランを作成したいと思います。RestaurantID(RID) は自動インクリメントです。しかし同時に、RATINGテーブルに最新の RID を追加した行を作成したいと考えていました。
他の投稿のいくつかの質問は私の場合とは異なります。この問題を解決する方法がわかりません。ここから助けを求めなければならない..
このコードのテスト結果: {"success":0,"message":"このレストランの評価テーブルを作成できませんでした!"}
レストラン名は正常に追加されましたが、評価テーブルが機能しません。何かアイデアはありますか? または、RID を評価テーブルに追加する逆の方法を実行する必要がありますか?
ここに私のコードがあります:
$response = array();
$name = "test1";
if ($rid = addRestaurant($name)){
echo "$rid"; // now it displays the right id
if(addRating($rid) == true){
$response["success"] = 1;
$response["message"] = "Restaurant Successfully Created!";
echo json_encode($response);
}else{
$response["success"] = 0;
$response["message"] = "Fail to create Rating table for this restaurant!";
echo json_encode($response);
}
}else{
$response["success"] = 0;
$response["message"] = "Fail to create Restaurant! Please Try Again Later!";
echo json_encode($response);
}
function addRestaurant($name){
// mysql inserting a new row
$result = mysql_query("INSERT INTO restaurants (Name)VALUES('$name')");
// check if row inserted or not
if ($result) {
$rid = mysql_insert_id();
echo "$rid"; //this gives me correct RID of "84" latest one.
return $rid;
} else {
return false;
}
}
function addRating($rid){
echo "$rid"; // here also the latest ID. but why return false?
$result = mysql_query("INSERT INTO `rating`(`Clealiness`, `Service`, `Quality`, `RID`) VALUES ('0', '0', '0', $rid");
if ($result) {
return true;
} else {
return false;
}
?>