[MySQL][PHP] nie mogę wstawić danych


(Maciej Szankin) #1

Wygląda wszystko OK, ale nie chce wysłac do bazy danych.

$con = mysql_connect("localhost","uzytkownik","haslo");

										if (!$con)

										  {

										  die('Nie można się połączyć: ' . mysql_error());

										  }

										  mysql_query('SET CHARSET latin2');

										mysql_select_db("urodziny", $con);

										mysql_query("INSERT INTO urodziny (osoba, dzien, miesiac, rok, gg) 

										VALUES ($osoba, $dzien, $miesiac, $rok, $gg)");

										mysql_close($con);

(Smale) #2

A jaki jest błąd ?

sprobuj wpisać tak:

'$osoba', '$dzien', '$miesiac', '$rok', '$gg' ...


(Maciej Szankin) #3

Nie ma żadnego błędu.

'$x' też nie działa.

Baza na pewno sprawna - wyświetlam informacji z niej zaczerpnięte i wszystko chodzi ok, tylko coś zapisać z poziomu php nie chce.


(Panda2a) #4
$sql = mysql_connect('mojserwer.pl', 'foo', 'off')

or die('Nie mogę połączyć się z bazą danych: '.mysql_error());


mysql_select_db('nazwa_bazy')

or die('Nie mogę wybrać bazy: '.mysql_error());


if (!$zaptanie=@mysql_query("tresc zapytania")) /* Sprawdza czy wykonanie powiodło się */

echo 'Bład zapytania MySQL, odpowiedź serwera: '.mysql_error(); /* Drukuje błąd na stronie */

else /* Jeśli błąd nie wystąpił kontynuuje działanie programu */

{

/* dalsze dzialanie skryptu */

}

Zlikwiduj cudzysłów w połączeniu.

('localhost','uzytkownik','haslo');

(Maciej Szankin) #5

Umik

Twój kod zwraca mi

Bład zapytania MySQL, odpowiedź serwera: Out of range value adjusted for column 'gg' at row 1

kolumna gg na MySQL: int(11) Null: Yes.

Mi to nic nie mówi.

(w formularzu w to polę wpisuję numer gg)


(Panda2a) #6

dla kolumny 'gg' zmień typ na VARCHAR oraz DłYGOść/WARTOści na 10


(Maciej Szankin) #7

Nic to nie dało, ale już mniej więcej wszystko jest ok - wywaliłem kolumnę GG - nie jest mi do końca potrzebna.

Teraz wracam do problemu z polskimi literkami.

Czy wpiszę dane przez konsolę, czy przez formularz przy wyświetlaniu zawsze polskie znaki zamieniają się na '?'

Próbowałem dodawać tuż po połączeniu

mysql_query('SET NAMES latin2');

oraz

mysql_query('SET CHARSET latin2');

ale w niczym nie pomogło.


(Panda2a) #8

Co zwraca w phpmyadmin ?

SHOW VARIABLES LIKE "character_set%";

(Maciej Szankin) #9

character_set_client utf8

character_set_connection utf8

character_set_database latin1

character_set_results utf8

character_set_server latin1

character_set_system utf8

character_sets_dir /usr/share/mysql/charsets/

mogę gdzieś to edytować? W MySQL i phpmyadmin jestem zielony

Złączono Posta : 03.09.2007 (Pon) 19:39

Rozwiązałem. Wielkie dzięki za pomoc.

Wystarczyło wejść w operacje i zmienić na latin2_general_ci :roll: