Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/mysql] Problem z updatem danych
cameleeck
post 20.06.2006, 22:23:51
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.06.2006

Ostrzeżenie: (0%)
-----


Witam. Jest to mój pierwszy post wiec chciałbym się przywitać.

Mam problem z update'm informacji w bazie danych. Mam taki fragment odpowiadający za wrzucanie do bazy danych odpowiednich informacji.
Połącznie z bazą danych
  1. <?php
  2. $lacz = new mysqli('localhost', 'root', 'kamilek', 'home')
  3. or die('Nie można połączyć z bazą danych' . mysqli_error());
  4. ?>



Deklaracja zmiennych:
  1. <?php
  2. require_once 'lacz.php';
  3. $action = $_POST['action'];
  4. $tytul = $_POST['tytul'];
  5. $tresc = $_POST['tresc'];
  6. $data = date("Y-m-d H:i:s");
  7. $id = $_POST['id'];
  8. ?>


Sam skrypt wstawiania:
  1. <?php
  2. case 'Zapisz':
  3. $wynik = $lacz->query("update home_articles 
  4. set title = '$tytul' , tresc = '$tresc' 
  5. where artykul_id = '$id' ")
  6. or die('Nie można zmodyfikować artykułu ' . mysqli_error($lacz));
  7. header("Location: artykul.php?PHPSESID=" .session_id() ."");
  8.  
  9. break;
  10. ?>


Wszystko działa jak należy skrypt nie wyświetla błędów, przechodzi na stronę artykul.php, ale w bazie danych nie ma śladu działalności skryptu.
Sprawdziłem możliwość nie przesłania wartości zmiennych ale wszystko jest na miejscu. Same polecienie SQL-owe działa gdzyż testowałem je w PHPmyAdminie i wszystko w bazie danych się zmienia tak jak powinno no ale już podczas zmiany ze strony nie działa.
Odrazu zastrzegam że połączenie z bazą jest gdyż w innej części skryptu jest polecenie insert do tej samej bazy danych i z tym samym połączeniem i tam wszystko działa.

Ten post edytował cameleeck 20.06.2006, 22:24:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
krzyszbi
post 21.06.2006, 03:07:22
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

Ostrzeżenie: (0%)
-----


witam
ja mam tak i jest ok - dane są updetowane
  1. <?php
  2. $wynik = $lacz->query("update test 
  3. set title = '$tytul' , tresc = '$tresc' 
  4. where id = $id ")
  5. ?>

możliwe że przez 'nie chciało ci poprawaić danych
struktura mojej testowej tabeli
  1. CREATE TABLE `test` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `title` varchar(100) collate latin1_general_ci NOT NULL,
  4. `tresc` text collate latin1_general_ci NOT NULL,
  5. `data` datetime NOT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post
cameleeck
post 21.06.2006, 11:13:08
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.06.2006

Ostrzeżenie: (0%)
-----


Napewno ci wgrywa questionmark.gif Twój kod różni się od mojego jedynie inną klauzulą where i nie chodzi mi bynajmniej o nazwe kolumny ale u ciebie $id jest bez ' '. U mnie jak wpisze takie coś niestety wywala bład składni polecienia, wiec raczej zgubiłes ' ' wpisując go do ramki
Go to the top of the page
+Quote Post
nospor
post 21.06.2006, 11:17:25
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




najwyraźniej jednak ten warunek where artykul_id = '$id' nie jest spelniony. Wyswietl sobie to $id: echo $id, przed wykonaniem zapytania i sprawdź czy oby napewno ono jest poprawne


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
cameleeck
post 21.06.2006, 11:25:44
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.06.2006

Ostrzeżenie: (0%)
-----


Problem rozwiążany smile.gif Wielkie dzięki. Wystarczyło zmienić jedna literkę w formularzu wysyłkowym:) Poprostu zmienna $id nie była przekazywana do pliku który przetwarzał.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:56