Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/MySQL] Problem z zapytaniem INSERT
Forum PHP.pl > Forum > Bazy danych > MySQL
Maveric.pl
Witajcie.

Mam dziwny problem.
Napisałem skrypt mający dodawać dane z formularza do bazy.
Dział nie do końca dobrze, tzn dopisuje dwie pierwsze wartości a pozostałe przepadają, zwraca komunikat że dane zostały dodane.
Pisałem to w oparciu o książkę wydawnictwa he**** i niby powinno działać.
Nie wiem już o co chodzi.
Kod w surowej oprawie:

CODE
<?php if (isset($_POST['counter'])):

include('db_connect.inc.php');

$date = $_POST['date'];
$counter = $_POST['counter'];
$total = $_POST['totality'];
$nextvis = $_POST['next_visit'];
$s_inf = $_POST['shortinfo'];
$detal = $_POST['details'];
$shopid = $_POST['shop_id'];

$sql = "INSERT INTO repairs_list SET
date='$date',
counter='$counter',
totality='$total',
next_visit='$nextvis',
shortinfo='$s_inf',
details='$detal',
shop_id='$shopid'";
if (@mysql_query($sql)) {
echo '<p>Dodano pozycje.</p>';
} else {
echo '<p>Problem podczas dodawania danych. <br> ' .
mysql_error() . '</p>';
}

?>

<p><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Dodaj kolejny wpis</a></p>
<br>
<p><a href="repairs_list.php">Powrót do listy</a></p>

<?php else: // Umożliwiamy użytkownikowi dodawanie pozycji ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p>Dodaj:</p><br>
Serwis: <input type="text" name="shopid" /><br />
Data: <input type="text" name="date" /><br />
Stan licznika: <input type="text" name="counter" /><br />
Koszt: <input type="text" name="total" /><br />
Nastepna wizyta: <input type="text" name="nextvis" /><br />
Krotki opis: <input type="text" name="s_inf" /><br />
Opis: <input type="text" name="detal" /><br />
<input type="submit" value="AKCEPTUJ" />
</form>

<?php endif; ?>


Serwer:
Maszyna lokalna w domu
Sys: Linux Debian 3.1 Sarge
Www: Apache 2.0.54
PHP: 4.3.10
MySQL: 4.0.24

PHPMyAdmin dane dopisuje i usuwa, więc nie problem uprawnień smile.gif
Czy coś przeoczyłem, czy może czegoś nie wiem.... Proszę o sugestie, pomoc.
bounty
spróbuj takiego zapytania
  1. <?php
  2. $sql = &#092;"INSERT INTO `repairs_list` (`date`,`counter`,`totality`,`next_visit`,`shortinfo`,`details`,`shop_id`) VALUES ('$date', '$counter', '$total', '$nextvis', '$s_inf', '$detal', '$shopid')\";
  3. ?>
]

@edit
masz zle nazwy pól w formie
tzn masz
Kod
<input type="text" name="total" />

a w php chcesz tak przypisac
  1. <?php
  2. $total = $_POST['totality'];
  3. ?>

powinno byc tak
formularz:
Kod
<input type="text" name="NAZWA" /> // Nazwa pola

a w php
  1. <?php
  2. $total = $_POST['NAZWA']; // musi byc taka sama jak w formularzu !!!
  3. ?>
Maveric.pl
Faktycznie. Działa śmiga i w ogóle. Kurcze głupota. Serdecznie dziękuje za pomoc (niepotrzebnie tydzień w plecy jestem :/ ).

Sugerowałem się nazwą zmiennych w nazwach pól.

CODE
$date (*) = $_POST['date(**)'];


Sądziłem że (*) to nazwa pola powinna być, a (**) nazwa pola w tabeli. Teraz jak tak przyglądam się widzę ten błąd. Serdecznie jeszcze raz dziękuje. Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.