вставить sql из кнопки отправки

0

Я пытаюсь добавить запись в мою базу данных, используя кнопку отправки в php файле. Таблица, которую я добавляю, называется - Fixture и содержит:

FixtureID - int PK AUTO_INCREMENT
Competition - varchar
TeamID - int
Against - varchar
Date - date
Time - time
HomeScore - int
AwayScore - int

Код для php приведен ниже.

<div id="container">
<div id="content">
<h2>Add New fixture</h2>
<hr />
<form action = "new_fixture.php" method="post" >    
<p>Add Fixture :</p><br />

<input type="text" name="comp" size="25" placeholder="competition" />
<br />
<br />
<input type="text" name="vs" size="25" placeholder="against" />
<br />
<br />
<input type="date" name="date" size="25" placeholder="date" />
<br />
<br />
<input type="time" name="time" size="25" placeholder="time" />
<br />
<br />
<input type ="submit" name="updateinfo" id="updateinfo" value="Add player">

</form>
</div>
<div>
<?php
if(isset($_POST['submit'])) {
$query = mysql_query("INSERT INTO Fixture VALUES  ('','$comp','9','$vs','$date','$time','','')");
if(!$sql) {
echo ("Could not delete rows" .mysql_error());
}
}
?>

Любые идеи, как исправить это, это не добавление в базу данных

благодаря

  • 1
    Как это не работает? Вы получаете какие-либо ошибки? Что вы сделали, чтобы устранить это?
  • 0
    в базу данных ничего не добавлено. Нет ошибок, просто не загружать в базу данных, как требуется
Показать ещё 1 комментарий
Теги:
submit

4 ответа

0

Попробуйте это - не профессионал, но я могу работать.

<?php
if(isset($_POST['updateinfo'])) {
$comp = $_POST['comp'];
$vs = $_POST['vs'];
$date = $_POST['date'];
$time = $_POST['time'];
$query = "INSERT INTO Fixture SET Competition='$comp', Against='$vs', Date='$date', Time='$time' ";

if ($mysqli->query($query)) {
 $message = "It worked - Post inserted.";
echo "<script type='text/javascript'>alert('$message');</script>";

}else{
echo 'something went wrong';
}
}
0

Изменить это

if(isset($_POST['submit'])) {

в

if(isset($_POST['updateinfo'])) {
0

В этом коде:

<?php
if(isset($_POST['submit'])) {
$query = mysql_query("INSERT INTO Fixture VALUES  ('','$comp','9','$vs','$date','$time','','')");
if(!$sql) {
echo ("Could not delete rows" .mysql_error());
}
}
?>

Вы проверяете, есть ли параметр POST с именем submit отправлено. У вас есть 3 возможных исправления:

  1. Проверьте, отправлена ли кнопка отправки: Изменить:

    if (isset ($ _ POST ['submit'])) {

с:

if(isset($_POST['updateinfo'])) {

Поскольку имя кнопки ввода обновляетсяinfoinfo

  1. Измените имя кнопки отправки, чтобы отправить

  2. Проверьте, нет ли пустого ($ _ POST)

  • 0
    это была проблема, спасибо!
  • 1
    прочитайте ответ @ Racil Hilan. В запросе также есть ошибка, вы пытаетесь вставить CHAR по FixtureID. Установите это поле путем вставки в NULL RTM: dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
Показать ещё 6 комментариев
0

Используйте NULL для вашего первичного ключа вместо пустой строки '' и используйте числа для ваших столбцов int:

$query = mysql_query("INSERT INTO Fixture VALUES(NULL,'$comp',9,'$vs','$date','$time',0,0)");

РЕДАКТИРОВАТЬ На вопрос в вашем комментарии о формате даты/времени:

$query = mysql_query("INSERT INTO Fixture VALUES(NULL,'$comp',9,'$vs',STR_TO_DATE('$date', '%m/%d/%Y')),STR_TO_DATE('$time','%h:%i'),0,0)");
  • 0
    его добавление в базу данных, за исключением столбцов даты и времени. Дата вставляется как 0000-00-00, а время как 00:00:00. Я заметил в полях типа ввода дату и время, когда он вводит его в этом формате ДД-ММ-ГГГГ и для времени ЧЧ: СС. Как мне решить это?
  • 0
    @ user3535330 Какая у вас база данных? Принятый формат даты / времени отличается от базы данных к другой.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню