Oprettet lør. d. 08. februar 2003 kl. 15:24:12

claushelth
claushelth (16.675 point. Point ude: 290)

transaktionsstyring med php

jeg er ikke klar over om dette er muligt, og om det overhovedet løser mit problem.

Jeg har en side der skal lave lave to udtræk fra den samme tabel, men uafhæningt af hinanden. dvs at jar vil have hevet nogle data ud 2 gange på en side, men de skal vises forskelligt.

Jeg åbner og lukker databasen hvergang (dvs 2 gange), men får denne fejl:

Fatal error: Cannot redeclare aabn_forbindelse_og_vaelgdb() (previously declared in c:\apache\htdocs\hj_funktioner\db_funktioner.php:5) in c:\apache\htdocs\hj_funktioner\db_funktioner.php on line 3

Fejlen kommer når den skal til at åbne DB 2. gang.

se selv fejlen i aktion: http://www.chelth.dk og tryk "Vis nyheder"

Jeg har forsøgt at låse DB på tabelniveau, men er ikke sikker på at det er gjort korrekt, men det er ikke det der giver fejl.

Det lyder måske lidt mærkeligt, at jeg vil vise 2x de samme data på siden, men det er problemet er også når jeg vil indsætte en ny artikel, og det er her det helst skal virke korrekt, så man kan se den nyoprettede artikel med det samme.

Claus

Skrevet lør. d. 08. februar 2003 kl. 15:34:14| #1

arne_v
arne_v (1.005.658 point)
Nu er jeg ikke PHP mand men det lyder som du erklærer en
funktion to gange med samme navn "aabn_forbindelse_og_vaelgdb".

Skrevet lør. d. 08. februar 2003 kl. 15:37:09| #2

jakoba
jakoba (172.332 point)
det lyder somom du styrer din databaseadgang igennem en klasse der er gemt væk i den inkluderede fil db_funktioner.php

hvis det er korrekt er det den kode vi skal kikke på.

måske er det ikke engang nødvendigt at rette noget. hvis blot det bruges korrekt.

mvh JakobA

Skrevet lør. d. 08. februar 2003 kl. 15:42:05| #3

claushelth
claushelth (16.675 point)
ok... jeg kalder min DB via en funktion (funktionen er den samme hver gang), hvor jeg behandler min kald til min DB.

her er funktionen i min hjælpefil:

<?php
//Åben forbindelsen til DB og vælg DB
function aabn_forbindelse_og_vaelgdb()
{
  $server = "localhost";
  $bruger = "claushelth";
  $kodeord = "gotfred";
  $database = "chelthdb";


  if(!mysql_connect("$server","$bruger","$kodeord"))
  {
    udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL.");
  }
  else
  {
    $conn = mysql_connect("$server","$bruger","$kodeord");
  }
  if(!mysql_select_db($database,$conn))
  {
    udskriv_fejl("Kunne ikke vælge databasen: $database");
  }
  return $conn;
}


//Luk forbindelsen til DB
function luk_forbindelse($conn)
{
  if(!mysql_close($conn))
  {
    udskriv_fejl("Kunne ikke lukke forbindelsen til MySQL!");
  }

}
?>

Andre funktioner findes også i denne fil til DB:

//Forespørgelser der returnerer data
function sql_spoerg_og_faa_svar($query)

//Forespørgelser der IKKE returnerer data.
function sql_spoerg($query)

//Udskriv fejl

function udskriv_fejl($fejl)

Skrevet lør. d. 08. februar 2003 kl. 15:45:26| #4

jakoba
jakoba (172.332 point)
du skal blot lade være med at inkludere den fil een gang til.

Skrevet lør. d. 08. februar 2003 kl. 15:48:14| #5

claushelth
claushelth (16.675 point)
ok...men det er lidt af et problem for mig så for den andet kald er med på alle undersider på hjemmesiden, så der skal den med....og den skal vel erkleres inden funktionerne kaldes...kan jeg spørge med en if-else om den er sat ind i forvejen ellers require()?

Skrevet lør. d. 08. februar 2003 kl. 15:50:56| #6

claushelth
claushelth (16.675 point)
det er måske slet ikke en fordel at have denne hjælpe DB-fil?

Jeg syntes nu den var meget gos netop fordi den kom med nogle standard fejlmeddelelser indsat på siden, hvis det gik galt!

Skrevet lør. d. 08. februar 2003 kl. 15:57:27| #7

claushelth
claushelth (16.675 point)
på min side (vis nyheder) kalder jeg først noget php kode som åbner for db og laver den første forsp., så lukker den igen.

så fortsætter siden med at færdig-gøre mit design med andre php kald til alm. html. Og så bliver der kaldt igen til en ny foresp. i samme tabel i noget nyt php-kode. Den åbner db, laver ny forsp. og lukker DB igen.

Er det grundliggende fordi jeg kalder funktionshjælpefilen 2 gange?

jakoba -> keder du nogle steder hvor man fortæller lidt om strukturopbygning af hjemmesider med php (hjemmesider/mapper/php-koder), for det er nok der at jeg er mest forviret. Jeg troede ellers jeg var ved at have fat på det!!

VH Claus

Skrevet lør. d. 08. februar 2003 kl. 16:10:18| #8

claushelth
claushelth (16.675 point)
jeg kan jo se at det virker hvis jeg kun reqire hj.-filen en gang, men det hjælper mig jo kun lige i denne ene situation, da jeg på forsiden kun vil have vist den 2. forsp.

Nogen der kan hjælpe...evt med st bud på en smart struktur i php

Skrevet lør. d. 08. februar 2003 kl. 16:18:46| #9

claushelth
claushelth (16.675 point)
ok...I kunne hjælpe mig med at få løst symptomet, men sygdommen er ikke bekæmpet :-)

Jeg løste det sådan her i hvert :



if (!$hj_fil)
{
  $hj_fil = require($_SERVER["DOCUMENT_ROOT"] . "/hj_funktioner/db_funktioner.php");
}

Men det kan umuligt være en holdbar løsning...
Jeg vil oprette et nyt ? omkring bud på ny struktur!

Skrevet lør. d. 08. februar 2003 kl. 16:19:30| #10

claushelth
claushelth (16.675 point)
jakoba -> du må lige smide et svar hvis du vil have lidt points

Skrevet lør. d. 08. februar 2003 kl. 17:51:27| #11

jakoba
jakoba (172.332 point)
ok, men gør det på den nemme måde: http://dk.php.net/ (...)

mvh JakobA

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

php problem få en kode fra en anden side

Oprettet den 11. februar 2012 kl. 23.53
jesperkaae95 giver 30 point for svar | Giv et svar »

Udtræk af enkelte felter fra bestemte kolonner i mysql

Oprettet den 11. februar 2012 kl. 19.27
hrole giver 30 point for svar | Giv et svar »

Procentregning

Oprettet den 11. februar 2012 kl. 11.26
sevinding giver 60 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger