On Wed, 10 Apr 2002 08:01:00 +0200, Kristian Damm Jensen
<kristian-damm.jensenRE@MOVEcgey.com> wrote:
>> $query="SELECT * FROM contacts WHERE id=$id";
>> $result=mysql_query($query);
>> $num=mysql_num_rows($result);
>> mysql_close();
>>
>> gav flg error:
>> Supplied argument is not a valid MySQL result resource
>> Lidt mere hjælp, plz
>
>$query="SELECT * FROM contacts WHERE id=" + $id;
Man kan ikke lægge en streng sammen med et tal ved at bruge + i php. (og
det er kode skrevet i php det her drejer sig om)
>Suppler evt. med en konvertering til char, hvis $id ikke i forvejen er
>en char.
>
><RANT>
>Hvornår lærer folk, at alt, hvad der står mellem plinger tages
>bogstaveligt, det bliver *ikke* fortolket. "$id" er en tekststreng
>bestående af tegnede $, i og d; medens $id er en variabel.
Det gør det nu altså når det er php-kode der skrives: Varibabler (som
f.eks $id) bliver erstattet med deres indhold når de står inden i "".
Faktisk kan mysql også udmærket sammenligne tal når de er skrevet i ''
som Thomas gjorde først:
SELECT * FROM tabel WHERE id='334';
hvilket kan være en god ide at gøre når man skriver php-kode.
>Undskyld Thomas, det var ikke specifikt rettet mod dig - jeg har bare
>set spørgsmål af denne type for mange gange. - Jeg havde brug for at
>luft.
Jamen ovenstående kode fejler ikke noget. Eller.. dvs... man kunne
forestille sig at $id slet ikke har en værdi hvorved queryen fejler -
eller man kan forestille sig at tebelnavnet er stavet forkert (der er
forskel på store og små bogstaver hvis det kører på en *nix-server).
Thomas, efter linien
$result=mysql_query($query);
skal du indsætte en
echo mysql_errno() . " ". mysql_error();
som udskriver evt. fejl som stammer fra databasekaldet - så kan du se
helt præcis hvad der er gået galt.
--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk
Directory Opus - nu også til windows -
http://www.gpsoft.com.au