Avatar billede benjamin87 Nybegynder
16. januar 2003 - 18:16 Der er 17 kommentarer og
1 løsning

fetch-fejl...?

while($data = mysql_fetch_array($foresp)){

og så fortsættes der med noget echo-tekst og afsluttes med  "}"

den brokker sig når jeg vil ind på siden og siger at der er fejl i denne her linie - men hvad er fejlen?
Avatar billede Slettet bruger
16. januar 2003 - 18:19 #1
Der er ingen fejl i den linje. Hvilken fejl får du? Noget med invalid mysql resource? Eller sådan?

Tilføj i den mysql_query() der retunerer foresp følgende fejl funktion:

$foresp = mysql_query(...) or die(mysql_error());

Og se nu hvilken fejl, du får.
Avatar billede iqzero Nybegynder
16. januar 2003 - 19:17 #2
Hej,

Hvis det er en syntax fejl kan du have glemt at afslutte en parantes, klamme, eller tuborgklamme længere oppe i koden. Du kan også have glemt et semikolon i den umiddelbart ovenstående linje, og så får du en fejl i denne.
Avatar billede benjamin87 Nybegynder
17. januar 2003 - 15:42 #3
Tak, det virkede på en af mine sider.! - der havde jeg glemt en enkelt slutparantes, der skulle nemlig være tre efter hinanden og ikke kun to.

Men jeg har en anden side der stadig er noget galt på, og sådan ser linierne ud:

$foresp = mysql_query("SELECT navn, email, dato, besked FROM bog ORDER BY nr DESC");
while($data = mysql_fetch_row($foresp) or die(mysql_error())){
    echo "<TR><TD VALIGN=TOP>";

Det er stadig fetch-linien (linie 25) det er galt med og når man åbner siden i browseren står der:

Parse error: parse error in /var/www/...og/gbog.php on line 25

Det virker åbenbart ikke med
Avatar billede benjamin87 Nybegynder
17. januar 2003 - 15:44 #4
... med  or die(mysql_error())
Avatar billede ztyxx Nybegynder
17. januar 2003 - 15:47 #5
prøv
$foresp = mysql_query("SELECT navn, email, dato, besked FROM bog ORDER BY nr DESC");
while($data = mysql_fetch_row($foresp)) or die(mysql_error()){
    echo "<TR><TD VALIGN=TOP>";
Avatar billede ztyxx Nybegynder
17. januar 2003 - 15:48 #6
du havde sat en ) forkert, du skulle have lukket din while() inden or die(mysql_error())
Avatar billede benjamin87 Nybegynder
17. januar 2003 - 16:05 #7
Den siger stadig at der er en parse error i linie 25...
Avatar billede ztyxx Nybegynder
17. januar 2003 - 16:20 #8
ups, det skal jo se sådan ud
$foresp = mysql_query("SELECT navn, email, dato, besked FROM bog ORDER BY nr DESC")or die(mysql_error());
while($data = mysql_fetch_row($foresp)) {
    echo "<TR><TD VALIGN=TOP>";
Avatar billede benjamin87 Nybegynder
17. januar 2003 - 16:27 #9
det virkede... til dels!
nu skriver den i stedet:
No Database Selected

Men jeg har da valgt databaseb med denne linie før i scriptet, har jeg ikke?

mysql_select_db("gbog", $db);

i PHPMyAdmin har jeg oprettet en database med navnet gbog, helt efter bogen (...Start på PHP)
Avatar billede ztyxx Nybegynder
17. januar 2003 - 16:51 #10
har du så også husket
mysql_connect()
Avatar billede benjamin87 Nybegynder
17. januar 2003 - 16:55 #11
Ja, mine første php-linier ser sådan ud:

<?
$db = mysql_connect("db.vffsupport.dk", "vffsupport.dk", "mit-mysql-password");
mysql_select_db("gbog", $db);
if($skriv){
Avatar billede ztyxx Nybegynder
17. januar 2003 - 21:34 #12
tjek lige at det kun er din tabel der hedder gbog, jeg er næsten sikker på at din database hedder noget andet
Avatar billede benjamin87 Nybegynder
19. januar 2003 - 15:57 #13
i PHPMyAdmin står der i menuen, under "Hjem", "vffsupport_dk", som er min databses navn.. ikke?
Og under "vffsupport_dk" står der "nyheder" og "gbog". Under "nyheder" og "gbog" har jeg ikke lavet noget der hedder det samme.
Men jeg er altså helt ny i database-sammenhæng, så jeg ved ikke så meget om det.
Avatar billede ztyxx Nybegynder
26. januar 2003 - 00:04 #14
mon ikke det skal se sådan ud så

<?
$db = mysql_connect("db.vffsupport.dk", "vffsupport.dk", "mit-mysql-password");
mysql_select_db("vffsupport_dk", $db);
if($skriv){
Avatar billede benjamin87 Nybegynder
26. januar 2003 - 14:49 #15
Jamen hvor ved den så fra at den skal vælge tabellen gbog?
Avatar billede benjamin87 Nybegynder
26. januar 2003 - 14:56 #16
Den er på adressen: http://design.vffsupport.dk/php/gbog.php

Men i stedet for at vise beskederne, includere den nu det nederste element der hvor beskederne skulle være...?!
Avatar billede benjamin87 Nybegynder
26. januar 2003 - 14:58 #17
Hele min kode ser sådan ud. Hvor ligger fejlen???

<?
include "top.php";
$db = mysql_connect("db.vffsupport.dk", "vffsupport.dk", "mysqlpassword");
mysql_select_db("vffsupport_dk", $db);
if($skriv){
    $besked = str_replace("\n", "<br>", $besked);
    $dato_array = getdate();
    $dato = $dato_array["mday"] . "/" . $dato_array["mon"] . "-" . $dato_array["year"];
mysql_query("INSERT INTO gbog (navn, email, dato, besked) VALUES ('$navn', '$email', '$dato', '$besked')");
}
?>
<center>
<table>
  <tr>
    <td>
<?
include "menu.php";
?>
</td>
    <td><div class=boxtext>
<br>
<center>
<form method=post action="<? echo $PHP_SELF;?>">
<input type=hidden name=skriv value=1>
navn: <input type=text name=navn><br>
email: <input type=text name=email><br>
<textarea name=besked cols=30 rows=5></textarea><br>
<input type=submit value="send">
</form>
<br><br>
<table>
<?
$foresp = mysql_query("SELECT navn, email, dato, besked FROM gbog ORDER BY nr DESC")or die(mysql_error());
while($data = mysql_fetch_row($foresp)) {
    echo "<TR><TD VALIGN=TOP>";
    echo "Fra: <A HREF=\"mailto:$data[0]</A>";
    echo "<br>$data[2]";
    echo "</TD><TD VALIGN=TOP>$data[3]</TD></TR>";
}
?>
</table>
</center>

</div></td>
  </tr>
</table>
</center>
<?
include "bund.php";
?>
Avatar billede benjamin87 Nybegynder
26. januar 2003 - 17:44 #18
Hurra! nu virker det! fejlen var både at der skulle stå vffsupport_dk og ikke gbog ved databsenavnet, og i linien "->    echo "Fra: <A HREF=\"mailto:$data[0]</A>"; <-" er der jo også en fejl, skal se sådan ud: "-> <A HREF=\"mailto:$data[1]\">$data[0]</A> <-".

Men hver gang man opdaterer gbog.php efter at have tilføjet en besked, så tilføjer den endnu en besked - er der noget der kan forhindre dét?????
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