Special11
28.02.2011, 22:27:25
Witam, otóż mam taki trochę logiczny problem. Nie znam się dobrze na MySql, ale chcę zrobić żeby każdy użytkownik mógł mieć tylko 1 rekord, czyli generalnie chcę jakoś powiązać dwa pola - ID usera oraz Klucz. W skrypcie PHP podawało by się jedynie ID użytkownika, a on by zwracał Klucz przypisany do tego ID. Jak to wykonać? Myślałem o złączeniu CHAR w coś w stylu "userid-klucz", ale szukam prostszego rozwiązania.
kokers
28.02.2011, 22:42:38
a czemu id nie może być tym kluczem?
Special11
28.02.2011, 22:47:31
Bo ten skrypt chciałbym wgrać na forum, będzie pobierał on ID użytkownika i na tej podstawie sprawdzał czy istnieje jego klucz w bazie danych, jeśli nie to pozwoli mu wpisać go, a jeśli tak to zwróci go.
mat-bi
28.02.2011, 22:49:37
Niezbyt rozumiem, ale:
CREATE TABLE 'users'(
'id' INT AUTO_INCREMENT NOT NULL,
'klucz' VARCHAR(200))
<?php
$this = mysql_query("SELECT ('klucz') FROM 'users' WHERE id='$_GET['id']; $this = mysql_fetch_assoc($this);
?
Co prawda w tym kodzie przydałoby się PDO i zabezpieczenie przed SQL Injection, ale dla jasności tego nei podałem
Special11
28.02.2011, 23:29:47
Ale jak to właściwie ma działać? AUTO_INCREMENT to chyba tylko indeks?
Chyba, że chodziło Ci z tym indeksem, aby po podaniu do MySql ID użytkownika on sprawdzał jaki jest indeks pola 'ID' i zwrócił ten sam indeks tylko, że z pola 'Klucz', np.:
Robię 3 pola: USERID, INDEX oraz KLUCZ. Skrypt teraz pobierze ID usera i porówna z USERID, sprawdzi jaki INDEX ma USERID i pobierze KLUCZ[INDEX], np. KLUCZ[123]
Trochę namieszałem :S
E: OK, udało mi się zrobić już wiem o co chodzi. Tylko powiedzcie / dajcie linki jak się zabezpieczyć przed tym SQL Injection? :/
E2: OK, już wszystko rozwiązałem, thx anyway za pomoc
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.