• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[mysqli][php] Update dziwnej zmiennej nie działa

42 Warsaw Coding Academy
0 głosów
255 wizyt
pytanie zadane 3 lipca 2015 w PHP przez benzulli Użytkownik (720 p.)
edycja 3 lipca 2015 przez benzulli
if($_POST['aktualizuj'])
            {
                $tytul = $_POST['title'];
                $opis = $_POST['desc'];
                $ajdii = $_POST['id'];
                
                $zask = "UPDATE products SET title='$tytul', desc='$opis' WHERE id='$ajdii'";
                if($connect->query($zask) === TRUE) echo "OK"; else echo "BLAD";
            }

 

$zapyt = "SELECT * FROM products where id='$ajdi'";
                    if($result2 = @$connect->query($zapyt))
                    {    
                        while($produkt = $result2->fetch_assoc()){
                        $id = $produkt['id'];
                        $title = $produkt['title'];
                        $desc = $produkt['desc'];
                        ?>
                        <form method="post">
                        <input type="text" name="title" value="<?php echo $title; ?>">
                        <input type="text" name="desc" value="<?php echo $desc; ?>">
                        <input type="hidden" name="id" value="<?php echo $id; ?>">
                        <input type="submit" name="aktualizuj">
                        </form>
                        <?php
                        }
                    }

 

Otóż mam problem z tym, że gdy chcę zaktualizować bazę, ta po prostu wywala błąd, w sensie nie aktualizuje się. Problem, wydaje się, jest tylko ze zmienną $opis, gdyż próbowałem np. zmieniać id - szło bez problemu. Dane przechwytywane z formularza, po edycji, są dobre.

To samo, jak np. updtaeuję samą kolumnę title, nie ma żadnego błędu, dopiero jak dołączam desc, wyskakuje.

Proszę nie zwracać uwagi na brak optymalizacji kodu, gdyż świadomie pisałem to na szybko, a optymalizacja w tym przypadku nie jest ważna.

2 odpowiedzi

0 głosów
odpowiedź 3 lipca 2015 przez jeremus Maniak (59,720 p.)
wybrane 3 lipca 2015 przez benzulli
 
Najlepsza
desc to zastrzerzona nazwa użyj jej  w ciapkach - tak   `desc`
komentarz 3 lipca 2015 przez benzulli Użytkownik (720 p.)
Wielkie dzięki!

Że też o tym nie pomyślałem!
+1 głos
odpowiedź 3 lipca 2015 przez Comandeer Guru (607,060 p.)

Bo BŁĘDY SIĘ OBSŁUGUJE: http://php.net/mysqli_error

A błąd jest spowodwany przez nazwę pola desc, które jest słowem kluczowym w MySQL i musi być zescape'owane jako `desc`

 

EDIT: ale mi zapłon padł :D

Podobne pytania

0 głosów
0 odpowiedzi 457 wizyt
pytanie zadane 9 maja 2022 w PHP przez gatka84 Bywalec (2,150 p.)
0 głosów
3 odpowiedzi 576 wizyt
pytanie zadane 9 lipca 2015 w PHP przez mowmiheniek Stary wyjadacz (11,900 p.)
0 głosów
1 odpowiedź 263 wizyt

93,385 zapytań

142,384 odpowiedzi

322,540 komentarzy

62,745 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...