Gå til innhold

Feil ved utskrift fra MySQL


Anbefalte innlegg

Skrevet (endret)

Problem: Ingenting blir skrevet ut, og ja, det er noe i databasen.

 

<?php 
//Kobler til MySQL 
mysql_connect("xx.xx.xx.xx", "xxxxxxx", "xxxxxx"); 
mysql_select_db("xxxxxxx"); 
//Kobling slutt 

//Starter HTML tabell 
print "<table border=\"1\" bordercolor=\"#000000\"bordercolorlight=\"#000000\"bordercolordark=\"#000000\">"; 
//Lister opp alle nyheter. 
$setning = "SELECT id, kategori, tittel, ingress, forfatter, dato FROM poster"; 
if(mysql_num_rows($setning) == 0) 
{ 
   print "<tr><td>Det er ingen nyheter.</td></tr>"; 
} 
else 
{ 
while($list = mysql_fetch_array($setning)) 
{ 
   print "<tr><td><a href=\"les.php?kat_id={$list['kategori']}\">Kategori</a> >> <b>{$list['tittel']}</b></td><td>Publisert <b>{$list['dato']}</b> Av {$list['forfatter']}</td></tr>"; 
   print "<tr><td>{$list['ingress']}<br><a href=\"les.php?id={$list['id']}\">Les mer</a></td></tr><br><br>"; 
} 
} 
mysql_close(); 
?>

 

 

 

Feilmelding:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /hsphere/local/home/nnetwork/erlink.nnetwork.net/legendn/list.php on line 11

Endret av Erlink
Videoannonse
Annonse
Skrevet (endret)

Nærmere bestemt må du forandre det fra dette:

//Lister opp alle nyheter. 
$setning = "SELECT id, kategori, tittel, ingress, forfatter, dato FROM poster";

... til dette:

//Lister opp alle nyheter. 
$setning = mysql_query("SELECT id, kategori, tittel, ingress, forfatter, dato FROM poster");

:thumbup:

 

 

Edit: Du skjønte det ja.. :p

 

Edit2: Anbefaler deg å kjøre spørringer og resultater gjennom en MySQL-klasse. Ting blir forbausende mye enklere da!

Endret av Lokaltog
Skrevet
Edit2: Anbefaler deg å kjøre spørringer og resultater gjennom en MySQL-klasse. Ting blir forbausende mye enklere da!

kan du gi et lynkurs i hvordan dette gjøres? jeg vet ikke helt hvordan klasser fungerer.

Skrevet (endret)

Tja, står noe om dette i PHP FAQ'en.

Men kan sikkert rable ned noe.

class db {
function query($query)
{
$query = mysql_query($query);
return $query;
}
}

Er en enkel klasse for å kjøre en spørring mot mysql. Du henter ut klassen ved å bruke

$db = new db;

For å ta i bruk klassen bruker du

$db->query("SELECT * FROM table");

Og du kan selvfølgelig legge til flere funksjoner i klassen for å gjøre det enda enklere, mysql_connect() f.eks.

class db {
function connect()
{
mysql_connect('localhost', 'username', 'password') or die(mysql_error());
mysql_select_db('database') or die(mysql_error());
}
function query($query)
{
$query = mysql_query($query) or die(mysql_error());
// or die() funksjonen er kjekt å slippe å skrive hver gang :) //
return $query;
}
}

Bruke samme måten som over for å hente ut klassen.

Og kan da bruke

$db->connect(); // kobler til databasen
$db->query("SELECT * FROM table"); // kjører spørring mot databasen

Prøv gjerne å få inn mysql_fetch_array(), eventuelt mysql_fetch_assoc() inn i klassen.

Lite eksempelscript for å vise hvordan man jobber med såpass enkle klasser.

<?php
$db->connect();
$query = $db->query("SELECT * FROM table");
while($row = $db->fetch_array($query))
{
echo $row[id];
}
?>

Funker på omtrent samme måte som ett helt vanlig script med vanlige funksjoner istedenfor klassefunksjoner.

 

Håper det hjalp litt :)

 

edit: skrivefeil.

Endret av LoS

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...