Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]formularz nie dodaje rekordów do bazy
Forum PHP.pl > Forum > Przedszkole
misiekk45
Witam serdecznie!
Jako że jestem uczącym się programistą chciałbym poprosić o pomoc w mojej sprawie.
Próbuje przerobię skrypt ogłoszeń openautoclassifieds na swoje potrzeby tzn zebym tylko ja mógł dodawać ogłoszenia.
Sprawa wygląda w ten sposób: mam formularz z danymi samochodu po którego wypełnieniu i naciśnięciu wyślij do bazy danych dodaje się pusty wiersz rekordów. i nie mam pojęcia dlaczego. Oryginalny skrypt działa na zmiennych globalnych i na localhoscie śmiga aż miło, ale na serwerze jest ta opcja wyłaczona. Proszę o pomoc bo próbuje już 2 dzień wstawiać $_GET i $_POST ale nic z tego...
Fragment kodu(jeśli będzie potrzeba to prześle formularz):

  1.  
  2. if ($_GET['action'] =="add") //tutaj próbowałem z post ale nic z tego
  3. {
  4. $dberror = "";
  5.  
  6.  
  7.  
  8. $title = addslashes($_POST['title']);
  9. $address = addslashes($_POST['address']);
  10. $city = addslashes($_POST['city']);
  11. $fulldesc = addslashes($_POST['fulldesc']);
  12. $type = addslashes($_POST['type']);
  13. $transmission = addslashes($_POST['transmission']);
  14. $color = addslashes($_POST['color']);
  15. $doors = addslashes($_POST['doors']);
  16. $notes = addslashes($_POST['notes']);
  17.  
  18.  
  19.  
  20. $price = ereg_replace("[^[:alnum:]]","",$_POST['price']);
  21. $year = ereg_replace("[^[:alnum:]]","",$_POST['year']);
  22. $miles = ereg_replace("[^[:alnum:]]","",$_POST['miles']);
  23.  
  24.  
  25. if ($linefeeds == "Y")
  26. {
  27. $previewdesc = ereg_replace("(\r\n|\n|\r)", "<br>", $_POST['previewdesc']);
  28. $fulldesc = ereg_replace("(\r\n|\n|\r)", "<br>", $_POST['fulldesc']);
  29. }
  30.  
  31. $query = "INSERT INTO vehicles (title, city, state, price, fulldesc, type, featured, dateposted, agent, notes, owner, model, make, year, drivetrain, transmission, body, doors, features, color, miles, opt1, opt2, opt3, opt4, opt5, opt6, opt7, opt8, opt9, opt10, opt11, opt12, opt13, opt14, opt15, opt16, opt17) values ('$title', '$city', '$state', '$price', '$fulldesc', '$type', '$featured', '$dateposted', '$agent', '$notes', '$owner', '$model', '$make', '$year', '$drivetrain', '$transmission', '$body', '$doors', '$features', '$color', '$miles', '$opt1', '$opt2', '$opt3', '$opt4', '$opt5', '$opt6', '$opt7', '$opt8', '$opt9', '$opt10', '$opt11', '$opt12', '$opt13', '$opt14', '$opt15', '$opt16', '$opt17')";
  32.  
  33. if (!mysql_query ($query, $link) )
  34. {
  35. }
  36. print "Your listing has been added...";
  37. }
  38.  
  39.  
  40.  
darko
Wypluj sobie zapytanie echo $query; i wklej jego treść np. do PMA lub mysql query browser i zobacz czy i jaki błąd wyskoczy, albo powinieneś się zorientować już po treści zapytania, sprawdź czy wszystkie wartości są prawidłowe, a jak to nie pomoże to pokaż jeszcze formularz i strukturę tabeli.
misiekk45
nie wierze ale jest dobrze smile.gif
dodałem sobie kilka razy echo zeby zobaczyć do którego miejsca sie wykonuje i teraz działa smile.gif
echa usunałem i śmiga smile.gif
ale... mam kolejne problemy...
chodzi o wyswietlanie ogłoszeń i ich edycje...
Na stronie głownej wszystkie ogłoszenia sa wyświetlone po kolei tak jak powinny być.
ale już przy próbie wyświetlenia poszczególnych ogłoszeń wyskakują:
1.
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ... on line 27
  1. function makelisting($querystring, $link, $guidestring, $cur_page, $listings_per_page, $sort)
  2. {
  3. global $use_city_state;
  4. if ($sort == "") {$sort = "price DESC";}
  5. $querystring = $querystring." ORDER BY $sort";
  6. $result = mysql_query("$querystring;",$link);
  7. $num_rows = mysql_num_rows($result); // <- linia 27
  8.  
  9. $page_num = $cur_page + 1;
  10.  
  11. $total_num_page = ceil($num_rows/$listings_per_page);
  12.  
  13.  
  14. print "<Center>";
  15. if ($num_rows == "1") {Print "There is currently one listing in this category.<BR>";}
  16. else {Print "There are currently $num_rows listings in this category.<BR>";}


oraz 2. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ... on line 134
  1. while ($a_row =mysql_fetch_array ($result) ) //linia 134


i wyświetla sie tylko "There is currently one listing in this category" pomiędzy nimi i tyle...
Podobnie jest z edycja i usuwaniem ale do tego dojdziemy....
darko
linia 6.
$result = mysql_query("$querystring;",$link);
zamień na
$result = mysql_query($querystring);
misiekk45
niestety dalej to samo...
darko
To analogicznie zobacz co jest w treści zapytania: echo $querystring;
misiekk45
echo querystring wyświetla coś takiego:

  1. SELECT * FROM vehicles WHERE (price >= '0' AND price <= '1E015') AND view = '9' ORDER BY price DESC



i nie mam pojęcia co z tym...
darko
Czy wartość price 1E015 jest poprawna ?
misiekk45
zmieniłem i teraz mam:
  1. SELECT * FROM vehicles WHERE (price >= '0' AND price <= '100000') ORDER BY price DESC


ale nadal jest tak jak było...

darko czy jakbym Ci przesłał cały kod to byś mi go poprawił?
darko
Cytat(misiekk45 @ 1.02.2010, 16:48:09 ) *
zmieniłem i teraz mam:
  1. SELECT * FROM vehicles WHERE (price >= '0' AND price <= '100000') ORDER BY price DESC


ale nadal jest tak jak było...

darko czy jakbym Ci przesłał cały kod to byś mi go poprawił?

? Jestem zawalony robotą, poza tym nie ma nic charytatywnie tongue.gif

Spróbuj doprowadzić zapytanie do takiej postaci:
  1. SELECT * FROM vehicles WHERE price >= 0 AND price <= 100000 ORDER BY price DESC
misiekk45
doprowadziłem:
  1. SELECT * FROM vehicles WHERE price >= 0 AND price <= 100000 ORDER BY price DESC


chyba tak miało być.
Ale i tak nic to nie dało...
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.