Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  9 2476
Hei. Jeg har et problem med dette sql-skriptet i forbindelse med eksamen i IT1. Jeg får samme feilmelding på flere av spørringene, og dette er egentlig bare et eksempel på en av dem. Feilmeldingen er:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Cwamp\www\eksamen\leggTilDeltaker2.php on line 70
Vis hele sitatet...

Kode

<?php
$con = mysql_connect("localhost","supermann","krypton");
if (!$con)
{ die('Could not connect: ' . mysql_error()); }

mysql_select_db("eksamen", $con);
$result = mysql_query("
SELECT d_id, etternavn, fornavn, postnr
FROM Deltaker
ODER BY d_id DESC
LIMIT 1");
echo "<table width=600>";
echo "<tr><th>Deltaker ID</th><th>Etternavn</th><th>Fornavn</th><th>Postnummer</th></tr>\n";
while($row = mysql_fetch_array($result))
{
echo "<tr><td>" . $row['d_id'] . "</td><td>" . $row['etternavn'] ."</td><td>" . $row['fornavn'] . "</td><td>" . $row['postnr'] . "</td></tr>";}
echo "</table>";
mysql_close($con);
?>
Sist endret av Boble; 13. juni 2010 kl. 16:53.
SELECT d_id, etternavn, fornavn, postnummer FROM deltaker ORDER BY d_id DESC LIMIT 1
Trådstarter
Det var litt småpinlig, men har fortsatt et problem i koden.
Jeg får nå en ny feilmelding som jeg ikke forstår, har prøvd å søke på nett men ingenting funker.
Jeg limer inn hele koden, og her er den nye feilmeldingen:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Cwamp\www\eksamen\a49admin.php on line 50

Linje 50 er denne: mysql_close($con);

Håper noen finner svaret, for det haster litt med eksamen

Kode

<?php
 
$con = mysql_connect("localhost","supermann","krypton");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("eksamen", $con);


mysql_query("INSERT INTO Deltaker (fornavn, etternavn, postnr) 
VALUES ('$_GET[fornavn]', '$_GET[etternavn]', '$_GET[postnr]')");
mysql_close($con);
?>

<br /><br />


<?php
$con = mysql_connect("localhost","supermann","krypton");
if (!$con)
{ die('Could not connect: ' . mysql_error()); }

mysql_select_db("eksamen", $con);
$result = mysql_query("
SELECT d_id, etternavn, fornavn, postnr
FROM Deltaker
ODRER BY d_id DESC
LIMIT 1");
echo "<table width=600>";
echo "<tr><th>Deltaker ID</th><th>Etternavn</th><th>Fornavn</th><th>Postnummer</th></tr>\n";
while($row = mysql_fetch_array($result))
{
echo "<tr><td>" . $row['d_id'] . "</td><td>" . $row['etternavn'] ."</td><td>" . $row['fornavn'] . "</td><td>" . $row['postnr'] . "</td></tr>";}
echo "</table>";
mysql_close($con);
?>
z0p
uʍop ǝpısdn
z0p's Avatar
kjør spørringene direkte mot databasen før du implementerer de i en løsning. gjør det som en del av planleggingen, så gjør du utviklingen enklere
Trådstarter
Jeg skjønte ikke helt hva du mente. Er ganske ny i dette, og bruker phpMyAdmin, men lite kjent med dette annet enn en dårlig lærer som selv ikke kan dette bra.
Du har fortsatt stavet ORDER feil.

SELECT d_id, etternavn, fornavn, postnr FROM Deltaker ODRER BY d_id DESC LIMIT 1

Det er heller ikke nødvendig å avslutte tilkoblingen til databasen for så å koble til på nytt, til samme database. Du burde samtidig lese litt om sikkerhet i PHP, tenker da spesielt på SQL Injections.

mysql_error() er en fin funksjon som gir en mer utfyllende feilmelding. Bruk den om en spørring feiler. Warning: mysql_fetch_array() betyr som regel at det er en skrivefeil/syntaxfeil i spørringen.
Trådstarter
Jo, så det selv. Skrivefeil er tingen...
Men jeg har et annet problem når jeg skal printe ut fra to tabeller. Jeg har fått det til på andre (sette inn poststed), og kopierte koden og erstattet med andre tabeller. Så syntaks skal være riktig. Er det noen som finner noe feil her? Jeg kan ikke skjønne hva som er galt =/
Feilmld er: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Cwamp\www\eksamen\meldDegPaForedrag2.php on line 74

Fortsatt samme type.. men kan ikke finne feilen.

Kode

<?php
$con = mysql_connect("localhost","supermann","krypton");
if (!$con)
{ die('Could not connect: ' . mysql_error()); }

mysql_select_db("eksamen", $con);
$result = mysql_query("
SELECT Aktivtet.aktivitet_id, Aktivitet.foredrag_id, Foredrag.tema
FROM Aktivitet
INNER JOIN Foredrag
ON Aktivitet.foredrag_id=Foredrag.foredrag_id
ORDER BY aktivitet_id DESC
LIMIT 1");
echo "<table width=600>";
echo "<tr><th>Deltaker ID</th><th>Etternavn</th><th>Fornavn</th></tr>\n";
while($row = mysql_fetch_array($result))
{
echo "<tr><td>" . $row['aktivitet_id'] . "</td><td>" . $row['foredrag_id'] ."</td><td>" . $row['tema'] . "</td></tr>";}
echo "</table>";
mysql_close($con);
?>
Aktivtet.aktivitet_id ....
Dobbeltsjekk syntaxen, det burde du ha lært deg etter å ha fått de tidligere svarene her.
Regner med at du skal ha aktivitet, ikke aktivtet.

Les nøye over alle ord i spørringen din, når du får slike feil i fremtiden.