Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySql][PHP] nie dodaje do bazy tekstu
Forum PHP.pl > Forum > Przedszkole
kubanskie_cygaro
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?
Rysh
  1. mysql_query($zapytanie) or die ("Bład: ". mysql_error());
kubanskie_cygaro
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.
Rysh
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());
kubanskie_cygaro
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.
IProSoft
  1. mysql_query("INSERT into skrypt `text` values ('".$text."' )") or die ("blad insert: ".mysql_error());
Rysh
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.
kubanskie_cygaro
dziękuje bardzo:)
wszystko działa:)
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.