Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Insert into SET
Forum PHP.pl > Forum > Bazy danych > MySQL
DziobaX
Witam. Mam napisany chat, lecz jest jeden mały problem. Oto plik send.php:
  1. <?php
  2. include 'config.php';
  3.  
  4. mysql_query("INSERT INTO chat SET `id_sender`=".$_SESSION['name'].", `tekst`='".mysql_escape_string($_POST['tekst'])."'");
  5.  
  6. header("Location: index.php?page=chat");
  7.  
  8. die();
  9.  
  10. ?>
w id_sender powinna się zapisywać nazwa gracza, lecz się nie zapisuje tylko jest wartość 1. Może dlatego, że typ id_senter to int(11). Co trzeba zrobić, aby ten SET dobrze współgrał? Z góry dzięki za pomoc.
blooregard
Cytat
Może dlatego, że typ id_senter to int(11).


Dobrze kombinujesz wink.gif

Poczytaj o typach danych w MySQL i wszystko samo się wyjaśni.
pmir13
Zmienić typ id_sender na varchar.
Jednorazowo zapytanie:
  1. ALTER TABLE `chat` CHANGE `id_sender` `id_sender` VARCHAR( 255 ) NULL DEFAULT NULL
DziobaX
Tylko, że zmienienie na VARCHAR nic nie daje sad.gif dalej jedynka, a jeżeli chcę, aby `id_sender`=".$_SESSION['id']." , wtedy nic nie zapisuje się do bazy danych, ponieważ id przechowuje id gracza, a name nazwe gracza i ze sesją idzie sie tylko polaczyc przez name. Chyba nic na to nie da sie poradzic... EDIT; jedynie pewnie gdzieś się da zmienić session na inna kolumne, ale to za wysokie progi...
pmir13
To trzeba było napisać w starterze że id_sender ma służyć jako numeryczny id, bo ja wciąż widzę że
Cytat
w id_sender powinna się zapisywać nazwa gracza

Po prostu musisz wyciągnąć id z tabeli userów mając nazwę usera z sesji, a potem wstawiać to id do tabeli chatu.
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.