Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z edycją rekordów w bazie
Forum PHP.pl > Forum > Przedszkole
student55
Chcę zmienić rekordy w bazie za pomocą formularza. O ile z dodawaniem nie ma problemów, to już przy zmianie jest źle. Mogę zmienić tylko na cyfry... Co jest źle?

  1.  
  2. $sql = "update mojatablica
  3. set Name_of_sensor = ".$_POST["Name_of_sensor"]." ,
  4. Place_of_sensor = ".$_POST["Place_of_sensor"]." ,
  5. Wlaczony = ".$_POST["Wlaczony"]."
  6.  
  7.  
  8. where id = ".$_POST["ID"];




Do tego formularz htmlowy:
  1.  
  2.  
  3. <form action="update.php3" method="post">
  4. ID: <input type="text" name="ID">
  5. Name of sensor: <input type="text" name="Name_of_sensor">
  6. Place of sensor: <input type="text" name="Place_of_sensor">
  7. Wlaczony: <input type="text" name="Wlaczony">
  8. <input type="submit">
  9. </form>




Przy próbie wpisania w formularzu jakiejś litery mam błąd:
Cytat
Error: Unknown column 'w' in 'field list'
kujol
W tym masz błąd " nie można używać tego wszędzie, zamień na to ' gdzie jest konieczne.
webmade.org/kursy-online/aktualizacja-rekordow-update-sql-kurs-mysql.php
kropamk
Radzę korzystać z edytora, który podkreśla Ci błąd składni bo masz bałagan totalny z cudzysłowami.

p.s. można używać przecinków ? nie spotkałem się z taką składnią, jak coś to AND ale , ? Proszę o sprostowanie smile.gif
nospor
@Kujol he? On uzywa cudzyslowia do tekstu w php. Mozna to stosowac jak sie chce. Blad tutaj jest taki, ze nie bierze w apostrofy tekstow w mysql.

@kropamk A tu juz podwojne "he"? Raz, ze nie ma tu zadnego bledy skladni php, a dwa, ze AND to sie uzywa w WHERE. W UPDATE przecinki sa jak najbardziej ok. Mogles to sprawdzic zagladajac do manuala a nie zgadywac i wprowadzac w blad.
kropamk
wg mnie powinien ująć to tak

  1. $sql = "UPDATE mojatablica SET Name_of_sensor = '" .$_POST['Name_of_sensor']."' , Place_of_sensor = '" .$_POST['Place_of_sensor']."' , Wlaczony = '" . $_POST['Wlaczony']."' WHERE id = '" . $_POST['ID']."'";
kujol
@nospor wiem co to cudzysłów wink.gif

Zapisz posta do zmiennej, jeśli już masz z tym problem:

Kod
$name     = $_POST
[ 'Name_of_sensor' ];


I wstaw do zapytania:
Kod
'$name'


Nazwy pól z bazy osadź w "ukośne apostrofy"
nospor
@Kujol przerciez autor nie ma problemu ze wstawieniem zmiennej do tekstu..... Tu wszystko ma wporzadku. Jedyny problem jaki ma to brak apostrofow dla tekstow wewnatrz zapytania mysql. Ale to jest problem mysql a nie php
Ukosne apostrofy tez tu nic nie zmieniaja. Nie sa nawet potrzebne

@kropamk tak, tak wlasnie powinno to wygladac, ale chodzi tylko i wylacznie o dodatek apostrow do tekstow w zapytaniu. Cala reszta od samego poczatku byla ok.
student55
Dzięki Panowie, śmiga.

Musi być tyle tych cudzysłowów różnych? Czy da się to jakoś uprościć. Łatwo się w tym pogubić...

Cytat(kropamk @ 2.10.2013, 20:25:43 ) *
Radzę korzystać z edytora, który podkreśla Ci błąd składni bo masz bałagan totalny z cudzysłowami.


np jakiego? notepad++ nie przejdzie? tongue.gif

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.