Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Nickname Nie zapisuje się[MYSQ]
Rolex
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.02.2011

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


Witam zaczynam robić mały panel Gdzie we formularzu wpisuje się nick później ten nick jest zapisywany do bazy

Wszystko się poprawnie łączy lecz niestety plik się nie zapisuje do bazy.

Proszę o pomoc.



  1. <?php
  2.  
  3. $nickname = $_POST['Imie'];
  4. $link = mysql_connect('...', '...', '...');
  5. if (!$link) {
  6. die('Nie połączono : ' . mysql_error());
  7. }
  8.  
  9. // Ustaw foo jako aktualną bazę danych
  10. $db_selected = mysql_select_db('....', $link);
  11. $result = mysql_query("SELECT nickname FROM mybb_samp")
  12. or die("Zapytanie niepoprawne");
  13. mysql_query("INSERT INTO `nickname` VALUES (1," . $nickname. ")");
  14.  
  15. if (!$db_selected) {
  16. die ('Nie można ustawić foo : ' . mysql_error());
  17. }
  18. mysql_close($link);
  19. ?>
  20.  
  21.  
  22.  
Go to the top of the page
+Quote Post
ADeM
post
Post #2





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


  1. mysql_query( "INSERT INTO `nickname` VALUES ( 1, '$nickname' )" ) or die( mysql_error() );

I podaj co wyświetla.
Go to the top of the page
+Quote Post
Rolex
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.02.2011

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


Table 'db349405623.nickname' doesn't exist
Go to the top of the page
+Quote Post
ylk
post
Post #4





Grupa: Zarejestrowani
Postów: 194
Pomógł: 26
Dołączył: 9.01.2011
Skąd: /dev/null

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


No to w czym jeszcze problem? Próbujesz zapisać do tabeli, która nie istnieje.
Go to the top of the page
+Quote Post
Piogola
post
Post #5





Grupa: Zarejestrowani
Postów: 151
Pomógł: 36
Dołączył: 1.02.2011
Skąd: Warszawa

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


Nie znaleziono tabeli nickname w bazie db349405623. Powinno być

  1. INSERT INTO mybb_samp VALUES ...
Go to the top of the page
+Quote Post
ADeM
post
Post #6





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


Prawdopodobnie chodzi Ci o tabelę "mybb_samp".
Go to the top of the page
+Quote Post
Rolex
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.02.2011

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


Dodałem tak jak Pigola i mam :


Column count doesn't match value count at row 1


Kod:


  1.  
  2. <?php
  3.  
  4. $nickname = $_POST['Imie'];
  5. $link = mysql_connect('host', 'dbo349405623', 'pass');
  6. if (!$link) {
  7. die('Nie połączono : ' . mysql_error());
  8. }
  9.  
  10. // Ustaw foo jako aktualną bazę danych
  11. $db_selected = mysql_select_db('db349405623', $link);
  12. $result = mysql_query("SELECT nickname FROM mybb_samp")
  13. or die("Zapytanie niepoprawne");
  14. mysql_query( "INSERT INTO mybb_samp VALUES ( 1, '$nickname' )" ) or die( mysql_error() );
  15.  
  16. if (!$db_selected) {
  17. die ('Nie można ustawić foo : ' . mysql_error());
  18. }
  19. mysql_close($link);
  20. ?>
  21.  


Czyli chce zeby nickname zapisywał sie do nickname który jest w mybb_samp

Ten post edytował Rolex 7.02.2011, 21:23:46
Go to the top of the page
+Quote Post
ADeM
post
Post #8





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


  1. mysql_query( "INSERT INTO mybb_samp SET nickname='$nickname'" ) or die( mysql_error() );


Ten post edytował ADeM 7.02.2011, 21:22:58
Go to the top of the page
+Quote Post
Rolex
post
Post #9





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.02.2011

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


Lecz teraz mam problem wszystko się zapisuje zrobiłem nawet nowe pole na nazwisko.

Jak wpiszę Imie i nazwisko za 1 razem jest okej wszystko sie zapisuje ale jak drugi raz dam imie i nazwisko zapisuje sie tylko imie i w przeglądarce widnieje Komunikat :

Duplicate entry '' for key 1

Proszę o pomoc
Go to the top of the page
+Quote Post
emajl22
post
Post #10





Grupa: Zarejestrowani
Postów: 273
Pomógł: 21
Dołączył: 28.11.2010

Ostrzeżenie: (10%)
X----


dziwisz się?
  1. mysql_query( "INSERT INTO mybb_samp VALUES ( null, '$nickname' )" ) or DIE(mysql_error());

Go to the top of the page
+Quote Post
Rolex
post
Post #11





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.02.2011

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


Ale w to trzeba dodać chyba " nickname='$nickname' " , Tylko kombinuje i mi błąd wysakuje
Go to the top of the page
+Quote Post
ADeM
post
Post #12





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


A możesz pokazać swoje zapytanie? Jak ono wygląda?
Go to the top of the page
+Quote Post
Rolex
post
Post #13





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.02.2011

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



Wycinek:
  1. // Ustaw foo jako aktualną bazę danych
  2. $db_selected = mysql_select_db('db349405623', $link);
  3. $result = mysql_query("SELECT nickname FROM mybb_samp")
  4. or die("Zapytanie niepoprawne");
  5. mysql_query( "INSERT INTO mybb_samp VALUES ( null, '$nickname' )" ) or DIE(mysql_error());
  6.  
  7. mysql_query( "INSERT INTO mybb_samp VALUES ( null, '$Nazw' )" ) or DIE(mysql_error());
  8.  
  9. if (!$db_selected) {
  10. die ('Nie można ustawić foo : ' . mysql_error());
  11. }
  12. mysql_close($link);
  13. ?>
  14.  



jestem poczatkujacy

To jest całoś prócz tych Connecti

Ten post edytował Rolex 7.02.2011, 23:53:06
Go to the top of the page
+Quote Post
emajl22
post
Post #14





Grupa: Zarejestrowani
Postów: 273
Pomógł: 21
Dołączył: 28.11.2010

Ostrzeżenie: (10%)
X----


  1. mysql_query("INSERT INTO `mybb_samp` VALUES (null, '$nickname')") or DIE(mysql_error());

to jest poprawne zapytanie

problem leży w bazie danych. Powinieneś mieć takie pola w tabeli mybb_samp:

ID - auto increment not null
xxx - varchar(32) not null

błąd mówi, że powtarza się już taki rekord, czyli zakładam, że w id nie dałeś auto_increment
Go to the top of the page
+Quote Post
ADeM
post
Post #15





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


Wstawiaj to za pomocą jednego zapytanie. Niepotrzebnie robisz dwa.
  1. mysql_query( "INSERT INTO mybb_samp SET nickname='$nickname', nazwa_pola_z_nazwiskiem='$Nazw'" ) or die( mysql_error() );


EDIT:

No tak. Plus jeszcze to co napisał ~emajl22 ;-)

Ten post edytował ADeM 8.02.2011, 00:02:31
Go to the top of the page
+Quote Post
Rolex
post
Post #16





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.02.2011

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


Niestety nie wiem o co wam chodzi mam tak:


  1. --
  2. -- Struktura tabeli dla `mybb_samp`
  3. --
  4.  
  5. CREATE TABLE `mybb_samp` (
  6. `nickname` varchar(24) collate utf8_polish_ci NOT NULL,
  7. `nazwisko` varchar(30) collate utf8_polish_ci NOT NULL,
  8. `pass` varchar(12) collate utf8_polish_ci NOT NULL,
  9. PRIMARY KEY (`nickname`)
  10. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
  11.  
  12. --
  13. -- Zrzut danych tabeli `mybb_samp`
  14. --




Nie rozumiem o co chodzi Ci z tym ID.




Go to the top of the page
+Quote Post
emajl22
post
Post #17





Grupa: Zarejestrowani
Postów: 273
Pomógł: 21
Dołączył: 28.11.2010

Ostrzeżenie: (10%)
X----


usun ta tabele a zrob taka:
  1. CREATE TABLE `mybb_samp` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `nickname` varchar(24) collate utf8_polish_ci NOT NULL,
  4. `nazwisko` varchar(30) collate utf8_polish_ci NOT NULL,
  5. `pass` varchar(12) collate utf8_polish_ci NOT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;

powinno być ok
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 27.09.2025 - 21:39