/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Mærkeligt MySQL problem
Fra : Michael Jensen


Dato : 21-04-01 20:44

Hejsa

Jeg har en tabel [1] og jeg prøver så at køre en sql :

SELECT
mid,
pid,
tid,
fid,
subject,
forum_messages.uid,
U.uname AS 'uname',
time
FROM forum_messages
INNER JOIN users AS U ON U.uid=forum_messages.uid
WHERE fid='1' AND status='1'

Nu oplever jeg så det mærkelige problem at posten med mid værdien 7 ikke
bliver hentet!!!

De eneste to betingelser jeg har i min sql er at fid=1 og status=1 og dem
opfylder mid=7 da, hvorfor bliver den så ikke hentet.

Alle de andre bliver hentet fint nok så jeg syntes det er lidt mærkeligt og
irriterende hvis I forstår mig
--
Hilsen Michael

P.S. Andreas Kleist jeg har lige lånt dit traadsystem og det funger sku ret
godt.

[1]
CREATE TABLE forum_messages (
mid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
tid int(11) DEFAULT '0' NOT NULL,
fid tinyint(3) DEFAULT '0' NOT NULL,
subject varchar(255) NOT NULL,
content blob NOT NULL,
uid int(11) DEFAULT '0' NOT NULL,
time int(11) DEFAULT '0' NOT NULL,
notify tinyint(1) DEFAULT '1',
html tinyint(1) DEFAULT '1',
ip varchar(255) DEFAULT '0' NOT NULL,
status tinyint(1) DEFAULT '0' NOT NULL,
PRIMARY KEY (mid),
UNIQUE mid (mid),
KEY mid_2 (mid, tid, fid)
);

#
# Data dump for tabellen 'forum_messages'
#

INSERT INTO forum_messages VALUES ( '1', '0', '1', '1', 'Første lille test',
'Dette er så indholdet af den første test', '56', '987868431', '1', '1',
'212', '1');
INSERT INTO forum_messages VALUES ( '2', '1', '1', '1', 'Re: Første lille
test', 'Svaret til den første lille test', '8', '987868431', '1', '1',
'212', '1');
INSERT INTO forum_messages VALUES ( '3', '1', '1', '1', 'Re: Første lille
test', 'Det andet svar til første lille test', '31', '987868431', '1', '1',
'212', '1');
INSERT INTO forum_messages VALUES ( '4', '0', '4', '1', 'Den anden lille
test', 'Dette er så indholdet af den anden test', '58', '987868423', '1',
'1', '122', '1');
INSERT INTO forum_messages VALUES ( '5', '4', '4', '1', 'Re: Anden lille tes
t', 'Første svar til Anden lille test', '56', '98786834', '1', '1', '245',
'1');
INSERT INTO forum_messages VALUES ( '6', '4', '4', '1', 'Re: Anden lille
test', 'Andet svar til Anden lille test', '42', '987869562', '1', '1',
'245', '1');
INSERT INTO forum_messages VALUES ( '7', '2', '1', '1', 'Re: Første lille
test', 'Detter er svaret på svaret til den første lille test', '35',
'987866423', '1', '1', '123', '1');
INSERT INTO forum_messages VALUES ( '8', '0', '8', '1', 'Den 3. test', 'Den
trejde test', '23', '987865423', '1', '1', '354', '1');
INSERT INTO forum_messages VALUES ( '9', '8', '8', '1', 'Re: Trejde test',
'dwjfklajsdlfjl', '12', '98798778', '1', '1', '1', '1');
INSERT INTO forum_messages VALUES ( '10', '2', '1', '1', 'Re: Første lille
test', 'jsdlfjalsdfjalæ', '87', '987865423', '1', '1', '123', '1');



 
 
Morten Winther (21-04-2001)
Kommentar
Fra : Morten Winther


Dato : 21-04-01 20:58


"Michael Jensen" <michael@ogj.dk> wrote in message
news:9bsns5$dvo$1@sunsite.dk...


> Nu oplever jeg så det mærkelige problem at posten med mid værdien 7 ikke
> bliver hentet!!!
>
> De eneste to betingelser jeg har i min sql er at fid=1 og status=1 og dem
> opfylder mid=7 da, hvorfor bliver den så ikke hentet.

Du laver jo en join og hvis den gør at de 2 tables ikke hænger sammen hvis
den records ikke blive vist. Det kan så vidt jeg kan se skyldes at den user
med id 35 er slettet eller ikke findes?

Prøv en LEFT JOIN i stedet, da den vil vise alle indlæg selvom den ikke kan
finde user.

/ morten




Michael Jensen (21-04-2001)
Kommentar
Fra : Michael Jensen


Dato : 21-04-01 21:29


"Morten Winther" <mw@get2net.dk> skrev i en meddelelse
news:9bsoln$hie$1@sunsite.dk...
> Du laver jo en join og hvis den gør at de 2 tables ikke hænger sammen hvis
> den records ikke blive vist. Det kan så vidt jeg kan se skyldes at den
user
> med id 35 er slettet eller ikke findes?
>
> Prøv en LEFT JOIN i stedet, da den vil vise alle indlæg selvom den ikke
kan
> finde user.

Jeps det har du ganske ret i. Jeg har aldrig brugt LEFT JOIN før. Du skulle
vel ikke kende lidt andet materiale udover MySQL dokumentationen som
omhandler de forskeller JOIN's

--
Hilsen Michael



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408871
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste