phpでログインシステムを作り、データベース登録情報の編集(修正、追加、削除)をする処理を作成しています。
実行時、以下のエラーが表示されます。
Parse error: syntax error, unexpected variable "$table" in C:\xampp\htdocs\user_system\masterpage_edit_sql.php on line 41
エラー内容は記号の入力ミスであったりカッコやダブルクォーテーションの閉じ忘れだったりと、単純ミスがほとんどのエラー原因とのことです。
例外処理など未完全なコードではありますが、エラー表示の原因を特定したいです。
力量不足で原因の特定ができず悩んでおります。お力添えいただけますでしょうか。
初歩的なミスかもしれませんが、よろしくお願いいたします。
<?php
//DB設定情報
$db_dsn='mysql:host=localhost;dbname=login_system';
$db_user='root';
$db_password='';
//入力ページから値の受け取り
$sql_type = $_POST["sql_type"];
$table = $_POST["table"];
$before_date = $_POST["before_date"];
$after_date = $_POST["after_date"];
//テーブルに対応したカラムを取得
switch ($table) {
case "m_affiliation":
$columm = "affiliation";
break;
case "m_department":
$columm = "department";
break;
case "m_occupation":
$columm = "occupation";
break;
case "m_position":
$columm = "position";
break;
case "m_prefectures":
$columm = "base";
break;
case "m_work_history":
$columm = "join_category";
break;
default:
echo ※入力内容に誤りがあります;
}
if($sql_type == "update") {
//編集画面で修正を受け取った場合、項目でテーブル指定して、beforeの値をafterでupdateする。
try {
$pdo = new PDO($db_dsn,$db_user,$db_password);
$sql = UPDATE $table SET $columm = $after_date WHERE $columm = $before_date;
$stmt = $pdo->query($sql);
$stmt->execute();
echo updateOK;
} elseif($sql_type == "insert") {
//編集で追加を受け取った場合、項目でテーブル指定して、afterの値をinsertで追加する。
try {
$pdo = new PDO($db_dsn,$db_user,$db_password);
$sql = INSERT INTO $table ($culumm) VALUES ($after_date);
$stmt = $pdo->query($sql);
$stmt->execute();
echo insertOK;
}
} elseif ($sql_type == "delete") {
//編集で削除を受け取った場合、項目でテーブル指定して、削除フラグであるdelの値を1に変更する。
try {
$pdo = new PDO($db_dsn,$db_user,$db_password);
$sql = "UPDATE $table SET del = 1 WHERE $columm = $before_date;
$stmt = $pdo->query($sql);
$stmt->execute();
echo deleteOK;
}
} else {
echo ※入力内容に誤りがあります;
}
}
?>