/ 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
Ang. mysql_fetch_array():
Fra : Simon Petersen


Dato : 10-05-03 03:53

Jeg er nybegynder indenfor PHP og MySQL.

Da jeg prøver at hente ting fra en MySQL database, så skriver min
browser:
Warning: mysql_fetch_array(): supplied argument is not a valid
MySQL result resource in /Users/simonpetersen/Sites/test.php on
line 7

Jeg kan ikke finde ud af hvad der er galt.

Her er tutorialen hvor jeg har fået info fra:
http://www.webcafe.dk/artikler/php/phpmysqlforespoergsler/

Jeg håber virkelig I kan hjælpe mig. I kan evt. kontakte mig på
ICQ: 120337331 eller e-mail.

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

 
 
Knut Nordal (10-05-2003)
Kommentar
Fra : Knut Nordal


Dato : 10-05-03 08:18

Hei
Dette ser ut som om du mangler koblingen til databasen.
Dette er som regelt mangelfult ved alle skoler og inføringer som du finner
på nett.
De tar for seg alt du kan gjøre med en database men glemmer for nybegynnere
at de også skal være en kobling til basen.
Mulig jeg tar feil men....

Se etter i skriptet ditt om du har noe lignende som dette:

$host = 'localhost';
$brugernavn = 'brukernavn';
$kodeord = 'passord';
$database = 'Navnet på databasen;

mysql_connect($host,$brugernavn,$kodeord)or die("Kan ikke kontakte basen");
mysql_select_db($database);

Mvh
Knut Nordal


"Simon Petersen" <wedege@mail1.stofanet.dk> skrev i melding
news:b9hpio$ji7$1@sunsite.dk...
> Jeg er nybegynder indenfor PHP og MySQL.
>
> Da jeg prøver at hente ting fra en MySQL database, så skriver min
> browser:
> Warning: mysql_fetch_array(): supplied argument is not a valid
> MySQL result resource in /Users/simonpetersen/Sites/test.php on
> line 7
>
> Jeg kan ikke finde ud af hvad der er galt.
>
> Her er tutorialen hvor jeg har fået info fra:
> http://www.webcafe.dk/artikler/php/phpmysqlforespoergsler/
>
> Jeg håber virkelig I kan hjælpe mig. I kan evt. kontakte mig på
> ICQ: 120337331 eller e-mail.
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials



Simon Petersen (10-05-2003)
Kommentar
Fra : Simon Petersen


Dato : 10-05-03 08:49

Hej Knut,

her er min PHP-kode:

<?php
$conn = mysql_connect("localhost", "root");
mysql_select_db("user.sql");
$result = mysql_query("select * from user");
while ($row = mysql_fetch_array($result)) {
echo $row["name"];
}
mysql_close($conn);
?>

Ser dette ikke rigtigt ud?

- Simon

Knut Nordal wrote in dk.edb.internet.webdesign.serverside.php:
> Hei
> Dette ser ut som om du mangler koblingen til databasen.
> Dette er som regelt mangelfult ved alle skoler og inføringer som du finner
> på nett.
> De tar for seg alt du kan gjøre med en database men glemmer for
nybegynnere
> at de også skal være en kobling til basen.
> Mulig jeg tar feil men....
>
> Se etter i skriptet ditt om du har noe lignende som dette:
>
> $host = 'localhost';
> $brugernavn = 'brukernavn';
> $kodeord = 'passord';
> $database = 'Navnet på databasen;
>
> mysql_connect($host,$brugernavn,$kodeord)or die("Kan ikke kontakte basen");
> mysql_select_db($database);
>
> Mvh
> Knut Nordal
>
>
> "Simon Petersen" <wedege@mail1.stofanet.dk> skrev i melding
&gt; news:b9hpio$ji7$1@sunsite.dk...
&gt; > Jeg er nybegynder indenfor PHP og MySQL.
&gt; >
&gt; > Da jeg prøver at hente ting fra en MySQL database, så skriver min
&gt; > browser:
&gt; > Warning: mysql_fetch_array(): supplied argument is not a valid
&gt; > MySQL result resource in /Users/simonpetersen/Sites/test.php on
&gt; > line 7
&gt; >
&gt; > Jeg kan ikke finde ud af hvad der er galt.
&gt; >
&gt; > Her er tutorialen hvor jeg har fået info fra:
&gt; > http://www.webcafe.dk/artikler/php/phpmysqlforespoergsler/
&gt; >
&gt; > Jeg håber virkelig I kan hjælpe mig. I kan evt. kontakte mig på
&gt; > ICQ: 120337331 eller e-mail.
&gt; >
&gt; > --
&gt; > Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
&gt; > - Pædagogiske tutorials på dansk
&gt; > - Kom godt i gang med koderne
&gt; > KLIK HER! => http://www.html.dk/tutorials
&gt;
&gt;


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

Jesper Brunholm (10-05-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 10-05-03 09:42

Simon Petersen wrote:
> $conn = mysql_connect("localhost", "root");
> mysql_select_db("user.sql");
> $result = mysql_query("select * from user");
> while ($row = mysql_fetch_array($result)) {
> echo $row["name"];
> }
> mysql_close($conn);
> ?>
>
> Ser dette ikke rigtigt ud?

Hvis du har installeret en mysqldatabase på din server (som du også har
installeret på egen maskine) - tjoh.

MEN jeg vil anytime (og for gud ved hvilken gang i den her gruppe)
foreslå at lave lidt fejlhåndtering i forbindelse med mysql-kommandoerne.

Webcafe har det også beskrevet her:
<http://www.webcafe.dk/artikler/php/phpmysqlabstraktioner/> (kan anbefales).

altså:
mysql_connect("localhost", "root") or trigger_error(mysql_error());

du kan definere din error_handler selv, eller du kan bruge det som det
står der, og bruge default i den PHP installation du kører på.

fidusen er at du får brugbare fejlmeddelelser hvis din query ikke
lykkes, og du kan genbruge tricket ved dine mysql_query()-kommandoer.

mvh

Jesper Brunholm


Jonas Koch Bentzen (10-05-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 10-05-03 14:41

Jesper Brunholm wrote:
>
> MEN jeg vil anytime (og for gud ved hvilken gang i den her gruppe)
> foreslå at lave lidt fejlhåndtering i forbindelse med mysql-kommandoerne.

Så vil jeg for gud ved hvilken gang i denne gruppe anbefale, at man
bruger PEAR DB
(http://pear.php.net/manual/en/package.database.php#package.database.db),
når man vil tilgå databaser :) Det har mange fordele:

- Man kan i toppen af sit script angive, at alle fejl skal håndteres af
ens egen fejlhåndteringsfunktion. På den måde slipper man for at skrive
"or trigger_error(mysql_error())" efter hver eneste mysql_query().

- PEAR DB virker med stort set alle databaser, som PHP understøtter -
deriblandt MySQL, PostgreSQL, Oracle, ODBC og Microsoft SQL Server (den
fulde liste kan ses på
http://pear.php.net/manual/en/package.database.db.intro-dsn.php).

- PEAR DB er det nærmeste, PHP-miljøet kommer Perls DBI - en fælles API
til SQL-databaser. Når alle bruger samme metode til at tilgå
SQL-databaser, er det meget lettere at læse og ændre andres kode. Lige
nu er der på PHP-fronten 100 forskellige SQL-klasser samt PHP's egne
særskilte funktioner for hver eneste database, der understøttes. Det er
ikke optimalt.

Her er et lille eksempel på nogle databasekald med PEAR DB:

<?php
require_once('DB.php');

# Alle fejl bliver udskrevet direkte - eller (hvis
# programmøren har defineret sin egen fejlhåndterings-
# funktion og kaldt set_error_handler('funktionsnavn'))
# bliver håndteret af programmørens fejlhåndteringsfunktion:
PEAR::setErrorHandling(PEAR_ERROR_TRIGGER);

# Forbinder til databasen:
$db = DB::connect('mysql://brugernavn:adgangskode@vaert/databasenavn');

# Kommando:
$resultat = $db->query('SELECT navn, alder FROM brugere');

while ($raekke = $resultat->fetchRow()) {
   echo 'Navn: '.htmlspecialchars($raekke['navn'])."<br/>\n";
   echo 'Alder: '.htmlspecialchars($raekke['alder'])."<br/>\n";
}
?>


Peter Brodersen (10-05-2003)
Kommentar
Fra : Peter Brodersen


Dato : 10-05-03 23:43

On Sat, 10 May 2003 15:40:50 +0200, Jonas Koch Bentzen
<ingen.email@eksempel.dk> wrote:

>- PEAR DB er det nærmeste, PHP-miljøet kommer Perls DBI - en fælles API
>til SQL-databaser.

Er den begyndt at kunne forstå brugen af NULL ved placeholders?

(jeg tror et eller andet sted, at kampen for PEAR og placeholders
bliver hindret af at folk er vant til magic_quotes... :-/ )

--
- Peter Brodersen

Jonas Koch Bentzen (11-05-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 11-05-03 09:38

Peter Brodersen wrote:
> On Sat, 10 May 2003 15:40:50 +0200, Jonas Koch Bentzen
> <ingen.email@eksempel.dk> wrote:
>
>
>>- PEAR DB er det nærmeste, PHP-miljøet kommer Perls DBI - en fælles API
>>til SQL-databaser.
>
>
> Er den begyndt at kunne forstå brugen af NULL ved placeholders?

Jeg har ikke afprøvet det, må jeg indrømme.


Kim Emax (10-05-2003)
Kommentar
Fra : Kim Emax


Dato : 10-05-03 10:06

Simon Petersen wrote:

> mysql_select_db("user.sql");

Hedder din database user.sql?

Og kig lige forbi http://www.usenet.dk/netikette/citatteknik.html

--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Simon Petersen (10-05-2003)
Kommentar
Fra : Simon Petersen


Dato : 10-05-03 10:54

Hej Kim,

tak fordi du sagde det... den hedder bare "user" iøvrigt.

det virker nu.. nu mangler jeg bare at flette den ind i noget HTML...
kender I en god tutorial til den slags. Synes ikke rigtig jeg kan finde
en

- Simon

PS. her er min side som jeg har lavet:
http://pc87012.stofanet.dk/~simonpetersen/test.php

Kim Emax wrote in dk.edb.internet.webdesign.serverside.php:
> Simon Petersen wrote:
>
> > mysql_select_db("user.sql");
>
> Hedder din database user.sql?
>
> Og kig lige forbi http://www.usenet.dk/netikette/citatteknik.html
>
> --
> Take Care
> Kim Emax - Freelance programmør
> http://www.emax.dk - http://www.ayianapa.dk
> Køb din vin online på http://www.gmvin.dk,
> Danmarks måske mest avancerede VinWebShop
>
>


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

Kim Emax (10-05-2003)
Kommentar
Fra : Kim Emax


Dato : 10-05-03 13:42

Simon Petersen wrote:

> det virker nu.. nu mangler jeg bare at flette den ind i noget HTML...
> kender I en god tutorial til den slags. Synes ikke rigtig jeg kan
> finde en

Du laver bare en form, der submitter til samme side og tjekker med

if($submit) {
insert into osv....

> PS. her er min side som jeg har lavet:
> http://pc87012.stofanet.dk/~simonpetersen/test.php

Og kig lige forbi http://www.usenet.dk/netikette/citatteknik.html, du
fangede den vist ikke første gang

--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



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

Månedens bedste
Årets bedste
Sidste års bedste