Во-первых, вы помещаете команду SQL в строку, но фактически не выполняете команду.
Во-вторых, если вы выполняете команду, но не показываете ее здесь иdbcon.php
файл работает нормально, тогда скорее всего проблема с форматом даты.
Наконец, вам нужно выполнить все ваши команды, особенно INSERT
команды в подготовленных инструкциях, чтобы предотвратить SQL-инъекции winchОЧЕНЬ важно.
Вот как должен выглядеть ваш код:
<?php //SETTING SESSION VARIABLES FOR ROUND 1 TEAMS AND SCORE
session_start();
if (isset($_POST['go1'])) { // MATCHUP 1
include_once 'dbcon.php';
$_SESSION['t_team1'] = $_POST['team-1'];
$_SESSION['t_team2'] = $_POST['team-2'];
$_SESSION['s_score1'] = $_POST['score-1'];
$_SESSION['s_score2'] = $_POST['score-2'];
$team1winner = mysqli_real_escape_string($conn, $_POST['team-1']);
$team2winner = mysqli_real_escape_string($conn, $_POST['team-2']);
$date1 = mysqli_real_escape_string($conn, $_POST['date-1']);
$TeamsStat = $conn->prepare("INSERT INTO knockout (knockout_team1, knockout_team2, knockout_date) VALUES (?, ?, ?)");
$TeamsStat->bind_param("sss", $team1winner, $team2winner, $date1);
$TeamsStat->execute();
$TeamsStat->close();
header("Location: ../tables.php?tables=winner");
}
Где $conn
- объект подключения к вашей базе данных.
Поскольку подготовленные операторы не поддерживают тип даты и поскольку дата не является свободным входным значением, столбец knockout_date
должен быть строкой, а переменная $date1
также должна быть строкой.
Надеюсь, что это помогло вам.