Avatar billede nyp Nybegynder
18. juli 2003 - 10:01 Der er 6 kommentarer og
1 løsning

Hjælp til dbase_add_record function

Hej

Er der nogen der kan få dette stykke kode til at virke, jeg er løbet helt tør for ideer. Det burde være ret enkelt så enten overser jeg noget eller også er der en bug i PHP.


Koden først og fejlmedelelsen til sidst:

<?php
// database navn
$dbname="test.dbf";

// database array definition
$def =
    array(
        array("post1",    "C",  30),
        array("post2",    "C",  30),
        );

// opretter database
if (!dbase_create($dbname, $def))
    print "<strong>Error!</strong>";
   
// åbner databse
if ( !$fp = dbase_open($dbname,0) )
{
      echo "Cannot open $dbname\n";
      exit;
}

// lægger en ny record i databasen
dbase_add_record($fp, array('1','2'));

// lukker databasen
dbase_close($fp)

?>

Fejl medelese:
Warning: unable to put record at 1 in c:\www\dbf\index1.php on line 24
Avatar billede tipsen Nybegynder
18. juli 2003 - 11:25 #1
Hvordan ser din db-tabelstruktur ud?
Avatar billede TRoXa Novice
18. juli 2003 - 11:32 #2
Jeg fatter intet af dette spørgsmål, men bare for at skrive noget kommer jeg med dette forslag :)

prøv med dbase_add_record($fp, array(1,2)); i stedet

Har aldrig rodet med dbase databaser før .. så det er et skud i tågen

Men det ser ud til at der allerede er noget på plads 1 i db'en og at du prøver at smide noget ind med samme plads som den ikke kan ..
Avatar billede tipsen Nybegynder
18. juli 2003 - 11:37 #3
Jvf. user comments på php.net kan funktionen give meget mærkelige fejlmeddelelser, hvis der ikke er overensstemmelse mellem felttyperne i tabellen og det du prøver at indsætte - deraf mit spørgsmål og derfor skal du nok ikke hæfte for stor betydning på fejlmeddelelsen!
Avatar billede nyp Nybegynder
18. juli 2003 - 11:58 #4
tipsen -> databastrukturen ligger i $def. "post1" er navnet "C" står for string og 30 for længden, så det burde være ok, den opretter også fint databasen og jeg kan skrive i den fra Paradox.

array(1,2) er variabler så det burde ikke virke, hvilket det heller ikke gør.

array('1','2') er string som burde virke, men det gør det ikke.

dbase_add_record tilføjer en ny record til databasen
Avatar billede noden Nybegynder
18. juli 2003 - 17:40 #5
Det er ikke noget med rettigheder til dbfilen!?
Avatar billede nyp Nybegynder
18. juli 2003 - 18:30 #6
Jeg kan jo fint oprette databasen så rettigheder skulle være ok.
Avatar billede nyp Nybegynder
18. juli 2003 - 20:07 #7
Det var noget ganske enkelt parameter flaget på dbase_open skal være dbase_open($dbname,2)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester