/ 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
søgning med mysql
Fra : Torben Svendsen


Dato : 13-07-06 11:10

Kære gruppe

Jeg sidder og øver mig i php og mysql. Jeg har lavet en database med 3
felter:

id int(6) NOT NULL primary key auto_increment
navn varchar(40) NOT NULL
epost varchar(40) NOT NULL

Mit problem er, at jeg ikke finde ud af at søge. Når jeg prøver med:

$id='8';
mysql_connect(localhost,$username,$password);
mysql_select_db($database);
$query="SELECT * FROM $tabel where id=$id";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();

virker det godt nok. Jeg har kun angivet den centrale del af programmet.
Først defineres variablerne og bagefter er der kode til udskrivning.

Personen med id 8 er "bo", skrevet med småt, men når jeg prøver med.

$navn='bo';
mysql_connect(localhost,$username,$password);
mysql_select_db($database);
$query="SELECT * FROM $tabel where navn=$navn";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();

virker det ikke. Linjen

$num=mysql_numrows($result);

giver en fejludskrift, så søgningen har ikke givet et resultat.

Hvad er galt?

På forhånd tak
Torben Svendsen






 
 
Jesper H (13-07-2006)
Kommentar
Fra : Jesper H


Dato : 13-07-06 12:18


Torben Svendsen skrev:

> Kære gruppe
>
> Jeg sidder og øver mig i php og mysql. Jeg har lavet en database med 3
> felter:
>
> id int(6) NOT NULL primary key auto_increment
> navn varchar(40) NOT NULL
> epost varchar(40) NOT NULL
>
> Mit problem er, at jeg ikke finde ud af at søge. Når jeg prøver med:
>
> $id='8';
> mysql_connect(localhost,$username,$password);
> mysql_select_db($database);
> $query="SELECT * FROM $tabel where id=$id";
> $result=mysql_query($query);
> $num=mysql_numrows($result);
> mysql_close();
>
> virker det godt nok. Jeg har kun angivet den centrale del af programmet.
> Først defineres variablerne og bagefter er der kode til udskrivning.
>
> Personen med id 8 er "bo", skrevet med småt, men når jeg prøver med.
>
> $navn='bo';
> mysql_connect(localhost,$username,$password);
> mysql_select_db($database);
> $query="SELECT * FROM $tabel where navn=$navn";
> $result=mysql_query($query);
> $num=mysql_numrows($result);
> mysql_close();
>
> virker det ikke. Linjen
>
> $num=mysql_numrows($result);
>
> giver en fejludskrift, så søgningen har ikke givet et resultat.
>
> Hvad er galt?
>
> På forhånd tak
> Torben Svendsen

Hej Torben

Hvad siger fejl-udskriften?

Noget andet er, at man vist skriver tekst-strenge i "gåseøjne" eller
'gnyffer':
$query="SELECT * FROM $tabel where navn='$navn' ";
eller
$query="SELECT * FROM $tabel where navn=\"$navn\" ";
(kan ærligt talt ikke huske hvilken der er rigtig )

Det kan også være en fordel at indrette sin koden sådan her, når
man forsøger at fejlsøge:
mysql_connect(localhost,$username,$password) or die('Kunne ikke
forbinde: '.mysql_error());
mysql_select_db($database) or die('Kunne ikke vælge: '.mysql_error());
$query="SELECT * FROM $tabel where navn=$navn";
$result=mysql_query($query) or die('Kunne ikke forespørge:
'.mysql_error());
osv. osv.

--
Mvh Jesper, http://fdf.dk/landsdel1/


Torben Svendsen (13-07-2006)
Kommentar
Fra : Torben Svendsen


Dato : 13-07-06 15:03

Tak for hjælp Jesper

> Hvad siger fejl-udskriften?

Jeg prøvede dit forslag om fejlsøgning med "die", og det giver beskeden:

Kunne ikke forespørge:Unknown column 'bo' in 'where clause'

>
> Noget andet er, at man vist skriver tekst-strenge i "gåseøjne" eller
> 'gnyffer':


Jeg har brugt en tilsvarende notation i den kode, der tilføjrer poster til
databasen. Det gav ikke problemer.

Venligst
Torben Svendsen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Torben Svendsen (13-07-2006)
Kommentar
Fra : Torben Svendsen


Dato : 13-07-06 15:14

> Jeg har brugt en tilsvarende notation i den kode, der tilføjrer poster
til
> databasen. Det gav ikke problemer.

Der skal stå '$navn' så virker det!


> Venligst
> Torben Svendsen


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Bertel Lund Hansen (13-07-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 13-07-06 15:15

Torben Svendsen skrev:

> Kunne ikke forespørge:Unknown column 'bo' in 'where clause'

Det lyder som om du er kommet til at skrive $navn i stedet for
navn.

   $query="SELECT * FROM $tabel where navn='$navn'";

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Jesper H (14-07-2006)
Kommentar
Fra : Jesper H


Dato : 14-07-06 09:07


Torben Svendsen skrev:

> Tak for hjælp Jesper
>
> > Hvad siger fejl-udskriften?
>
> Jeg prøvede dit forslag om fejlsøgning med "die", og det giver beskeden:
>
> Kunne ikke forespørge:Unknown column 'bo' in 'where clause'

Det er fordi der ikke er gnyffer omkring $navn. Så tror den at bo er
et felt, hvilket det jo ikke er, men nærmere en værdi. Derfor skal
der være gnyffer omkring

>
> >
> > Noget andet er, at man vist skriver tekst-strenge i "gåseøjne" eller
> > 'gnyffer':
>
>
> Jeg har brugt en tilsvarende notation i den kode, der tilføjrer poster til
> databasen. Det gav ikke problemer.

Hmm, tjah, det skal jeg så ikke kunne sige Det kan være den har
været "nådig", eller fordi man bruger VALUES-keywordet i sin
forespørgsel, eller noget. Der er sikkert nogle kloge hoveder herinde,
der kan opklare det.

> Venligst
> Torben Svendsen
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials


--
Mvh Jesper, http://fdf.dk/landsdel1/


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

Månedens bedste
Årets bedste
Sidste års bedste