Пожалуйста, опубликуйте код PHP-скрипта. И не только одна строка кода, которую вы вставили в свой новый вопрос, мы должны увидеть всю логику.
я есть совершенно новая таблица в MySQL, которую можно описать так:
+-----------+----------+-------+------+-----+-------+
| Team | Match | Auto | Gear | Kpa | Climb |
+-----------+----------+-------+------+-----+-------+
| 1721 | 1 | 3 | 5 | 5 | 1 |
+-----------+----------+-------+------+-----+-------+
| 5813 | 2 | 2 | 2 | 15 | 0 |
+-----------+----------+-------+------+-----+-------+
Когда я пытаюсь сделать новую запись в таблице со следующим синтаксисом
INSERT INTO 2017marea (Team, `Match`, Auto, Gear, Kpa, Climb) VALUES ('1721', '19', '3', '5`, `15`, `1`);
и затем я печатаю таблицу снова, я вижу только самую новую запись 1721 года, а не их более старую. Я попытался добавить четвертый столбец с первичным ключом автоинкремента, но он все еще сохранял то же самое поведение.
Как я могу предотвратить перезапись старых данных при записи новых данных в базу данных?
Изменить для ясности: Вот как будет выглядеть новая таблица после команды вставки.
+-----------+----------+-------+------+-----+-------+
| Team | Match | Auto | Gear | Kpa | Climb |
+-----------+----------+-------+------+-----+-------+
| 5813 | 2 | 2 | 2 | 15 | 0 |
+-----------+----------+-------+------+-----+-------+
| 1721 | 19 | 3 | 5 | 15 | 1 |
+-----------+----------+-------+------+-----+-------+
Редактировать: функция, используемая для создания таблицы:
CREATE TABLE `2017marea` (`Team` INT(25) NOT NULL, `Match` INT(25) NOT NULL, `Auto` TINYINT(2) NOT NULL, `Gear` TINYINT(2) NOT NULL, `Kpa` TINYINT(2) NOT NULL, `Climb` TINYINT(2) NOT NULL);
Больше правок: Этоmysql_
черезmysqli_
Шим (да. Я знаю. Я в курсе. Он никогда не покидает локальную сеть).
ХОРОШО. Это стало проблемой PHP.
Я больше не могу заставить проблему воспроизвести в консоли MySQL. Я выделил проблему до моего кода PHP. Я все еще не уверен, в чем проблема -insert ignore
тоже не работает
Больше правок, о мальчик. Это копия всей моей логики PHP. База данных, которую я привел здесь для примера, отличается (не такой большой от таблицы), как фактическая, поэтому код PHP немного отличается. В любом случае, вот оно:
if (isset($_POST['team']) && isset($_POST['match']) && isset($_POST['auto']) && isset($_POST['gear']) && isset($_POST['kpa']) && isset($_POST['climb'])) {
$team = mysql_real_escape_string($_POST['team']);
$match = mysql_real_escape_string($_POST['match']);
$auto = mysql_real_escape_string($_POST['auto']);
$gear = mysql_real_escape_string($_POST['gear']);
$kpa = mysql_real_escape_string($_POST['kpa']);
$climb = mysql_real_escape_string($_POST['climb']);
$postQuery = mysql_query("INSERT INTO 2017marea (Team, `Match`, Auto, Gear, Kpa, Climb) VALUES ($team, $match, $auto, $gear, $kpa, $climb)") or die("MySQL Error: " . mysql_error());
if ($postQuery) {
echo "<script> window.location.replace('../scouting/index.php?s=1')</script>";
} else {
echo "<script> window.location.replace('../scouting/index.php?f=1')</script>";
}
} else {
// This is an HTML form. Truncated for easy display.
}