Синтаксис для вашего оператора вставки отключен и выглядит как гибрид между вставкой и обновлением. Попробуйте эту версию:
$sql = "INSERT INTO reservations (tour, fname, lname, email) ";
$sql .= "VALUES (:tour, :fname, :lname, :email)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':tour', $myTour, PDO::PARAM_STR);
$stmt->bindParam(':fname', $myFName, PDO::PARAM_STR);
$stmt->bindParam(':lname', $myLName, PDO::PARAM_STR);
$stmt->bindParam(':email', $myEmail, PDO::PARAM_STR);
$stmt->execute();
$stmt->close();
Для ясности, оператор вставки SQL принимает следующие вещи:
- Ключевые слова
INSERT INTO
, за которыми следует список столбцов
- Затем предложение VALUES, за которым следует кортеж, содержащий значения для вставки
Существует также INSERT INTO ... SELECT
, который использует оператор выбора для предоставления значений, но вы не используете эту форму.