Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySql][PHP] nie dodaje do bazy tekstu
kubanskie_cygaro
post 20.06.2012, 16:56:47
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.05.2012

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


Chcę napisać skrypt, który dodaje tekst do bazy za 1 razem, a za każdym następnym podmienia na nowy tekst.
Kod:
  1. <form action="skrypt.php" method="POST" name="skrypt">
  2. Wpisz: <input type="text" name="text">
  3. <input type="submit" name="przeslij" value="wyslij">
  4. </form>


  1. <?php
  2. if(isset($_POST['przeslij'])){
  3. mysql_connect('localhost', 'root', 'portal')
  4. or die('Nieudane polaczenie z baza danych...');
  5. mysql_select_db('portal')
  6. or die('Nie udalo sie wybrac bazy danych...');
  7. $text = $_POST['text'];
  8. if(empty($text)){ echo 'brak tekstu';}
  9. else{
  10. $z = "UPDATE skrypt set 'text' = '$text' ";
  11. mysql_query("INSERT into skrypt 'text' values '$text'");
  12. }else echo "nie dziala ";
  13. }
  14. }
  15. ?>


po wpisaniu tekstu wyświetla mi komunikat "nie dziala". Naprawdę nie wiem gdzie zrobiłam błąd.

A jeszcze jedno pytanie czy powinnam zostawić tak jak jest: mysql_affected_rows()==0 czy dać :

  1. $z= mysql_query("UPDATE skrypt set 'text' = '$text' ");
  2. if(mysql_affected_rows($z)==0){
  3. ...

bo jeśli tak dam to wyskakuje mi błąd: Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in C:\Program Files (x86 ....
w linijce if(mysql_affected_rows($z)==0)
nie jestem właśnie pewna bo znalazłam na forum przykład w którym insert i update był w ten sposób użyty, ale wydaje mi się, że tak jak napisałam wcześniej to zwróci mi liczbę wierszy wcześniejszego zapytania?

Ten post edytował kubanskie_cygaro 20.06.2012, 16:57:35
Go to the top of the page
+Quote Post
Rysh
post 20.06.2012, 16:58:23
Post #2





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


  1. mysql_query($zapytanie) or die ("Bład: ". mysql_error());


Ten post edytował Rysh 20.06.2012, 16:58:31


--------------------
Go to the top of the page
+Quote Post
kubanskie_cygaro
post 20.06.2012, 17:15:13
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.05.2012

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


Zmieniłam.
Teraz po wpisaniu "aa" wyskakuje mi błąd:
blad: Something is wrong in your syntax obok ''text' = 'aa'' w linii 1

gdy usunę apostrofy dla "UPDATE skrypt SET text = '$text' ";
wtedy nie pokazuje żadnego błedu ale też nie pojawia mi się tekst w bazie.
Go to the top of the page
+Quote Post
Rysh
post 20.06.2012, 17:30:04
Post #4





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Cytat(kubanskie_cygaro @ 20.06.2012, 18:15:13 ) *
Zmieniłam.
Teraz po wpisaniu "aa" wyskakuje mi błąd:
blad: Something is wrong in your syntax obok ''text' = 'aa'' w linii 1

gdy usunę apostrofy dla "UPDATE skrypt SET text = '$text' ";
wtedy nie pokazuje żadnego błedu ale też nie pojawia mi się tekst w bazie.


  1. mysql_query("UPDATE skrypt SET text='". $text ."'") or die ("Bład: ". mysql_error());


--------------------
Go to the top of the page
+Quote Post
kubanskie_cygaro
post 20.06.2012, 17:43:41
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.05.2012

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


Jeśli w bazie dodam tekst to wtedy działa update, jednak jak nie ma żadnej zmiennej w bazie to wyświetla się ten sam błąd:
blad insert: Something is wrong in your syntax obok ''text' values 'nowa zmienna'' w linii 1

więc zmieniłam do INSERT tak jak w UPDATE:
  1. mysql_query("INSERT into skrypt 'text' values '".$text."' ") or die ("blad insert: ".mysql_error());
  2. }else echo "nie dziala ";

ale dalej jest ten sam błąd.

Raaany to na pewno jest jakaś głupota smile.gif
dziękuje że mi pomagasz.
Go to the top of the page
+Quote Post
IProSoft
post 20.06.2012, 17:49:55
Post #6





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


  1. mysql_query("INSERT into skrypt `text` values ('".$text."' )") or die ("blad insert: ".mysql_error());


Ten post edytował IProSoft 20.06.2012, 17:50:13


--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
Rysh
post 20.06.2012, 17:50:36
Post #7





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


INSERT posiada inną postać:
  1. INSERT INTO nazwa_tabeli (kolumna) VALUES (wartość)

Czyli przykładowo:

  1. $zapytanie = "INSERT INTO user (login, haslo, email) VALUES ('Rysh', '". md5($haslo) .'", '". $email."')";
  2. mysql_query($zapytanie) or die ("Bład: ". mysql_error());


Drugą część do zapytania dodajesz, żeby w razie problemów wiedzieć w którym momencie coś jest źle.

Ten post edytował Rysh 20.06.2012, 17:51:10


--------------------
Go to the top of the page
+Quote Post
kubanskie_cygaro
post 20.06.2012, 17:59:29
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.05.2012

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


dziękuje bardzo:)
wszystko działa:)
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: 19.07.2025 - 05:50