[PHP+mysql] Dodawanie rekordów

[PHP+mysql] Dodawanie rekordów
P9
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam. Mam taki oto kod:

Kopiuj
 else if ($_GET['id']=='dodaj')
  {  $nr     =  $_GET['nr'];
 	$autor  =  $_GET['nick'];
	$text   =  $_GET['tresc'];
    $data   =  date('Y-m-d H:i:s');
    $connection = @mysql_connect(localhost, root ,****);

	            $dodaj = "INSERT INTO `comment` (`id, `id_news`, `autor`, `text`, `data`) VALUES ('', ".$nr.", ".$autor.", ".$text.", ".$data.");";
	if($connection==false)
 		echo "Nie można połączyć z bazą danych" ;
 		else {
   		echo "ok" ;
   		 mysql_select_db('zawodnicy');

				if   (  mysql_query($dodaj)==false)
    				 echo "błąd"      ;    


     	 }

   }

Wiem że nie jest zbyt porządny ale na razie to jest testowe: będe to poprawiał. w każdym bądz razie Skrypt łączy się z bazą danych jednak nie chce dodać wpisu. Nie pokazuje żadnego błędu ale zwraca false. Co jest źle? (id to AUTO_INCREMENT). Może sie nie zgadzać w )( i }{ bo zmieniałem kod już na forum ale nie oto chodzi...

//pozdrawiam

johny_bravo
  • Rejestracja: dni
  • Ostatnio: dni
0

echo mysql_error() po wywolaniu mysql_query - to tak na przyszlosc. A brakuje apostrofow w zapytaniu:

Kopiuj
"...VALUES ('', '".$nr."', '".$autor."', '".$text."', '".$data."')";
Adam.Pilorz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2998
0

Przy okazji taka rada - jeśli masz pole auto_increment, jak w Twoim przykładzie id, to zamiast pisać:
"INSERT INTO comment (id, id_news, autor, text, data) VALUES ('', '".$nr."', '".$autor."', '".$text."', '".$data."')"
proponuję wersję krótszą:
"INSERT INTO comment (id_news, autor, text, data) VALUES ('".$nr."', '".$autor."', '".$text."', '".$data."')"
Nie ma sensu wysyłać do serwera bazy danych informacji o identyfikatorze, jeśli informacja ta jest pusta, a identyfikator wyciągany jest skąd indziej. Do tego służy pełna wersja zapytania INSERT (z wyszczególnieniem pól), by podawać tylko to, co trzeba.

P9
  • Rejestracja: dni
  • Ostatnio: dni
0

wszystko ok ale wykryłem co trza było zrobićoprócz apostrofów. Trzeba było do id wstawić 'null'

Adamo
  • Rejestracja: dni
  • Ostatnio: dni
0

Adam.Pilorz ci już powiedział że trzeba było wyrzucić w ogóle podawanie id

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.