Avatar billede syvon Nybegynder
20. maj 2003 - 11:43 Der er 6 kommentarer og
1 løsning

fejl i gæstebog

får disse fejl

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\apache\htdocs\phpnuke\html\modules\guestbook\index.php on line 25


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\apache\htdocs\phpnuke\html\modules\guestbook\index.php on line 68


her er hele dokumentet

<?php

if (!eregi("modules.php", $PHP_SELF)) {
    die ("You can't access this file directly...");
}

$module_name = basename(dirname(__FILE__));

$index = 1;
get_lang($module_name);

function displayGuests() {
    global $module_name;
    global $admin;
    include("header.php");
    OpenTable();
    if(!$_GET["start"]) {
        $start = 0;
    }
    else {
        $start = $_GET["start"];
    }
   
    $result = sql_query("select id from ".$prefix."_gaestebuch",$dbi);
    $number = mysql_num_rows($result);
    $anzahl = ceil($number/10);
    echo "<center><font class=\"title\">"._TITEL."</font></center>";
    echo "<table width=\"100%\"><tr><td width=\"15%\">&nbsp;</td><td align=\"center\">";
    for($i=1;$i<=$anzahl;$i++) {
        if($i == 1) {
            if($start==0) {
                echo "&lt; ";
                echo "1 ";
            }
            else {
                $minor = $start -1;
                echo "<a href=\"modules.php?name=$module_name&amp;start=$minor\">&lt;</a> ";
                echo "<a href=\"modules.php?name=$module_name&amp;start=1\">1</a> ";
            }
        }
        else {
            if($start == ($i - 1)) {
                echo "$i ";
            }
            else {
                $minor = $i - 1;
                echo "<a href=\"modules.php?name=$module_name&amp;start=$minor\">$i</a> ";
            }
        }
    }
    if($start == ($anzahl-1)) {   
        echo "&gt;";
    }
    else {
        $major = $start+1;
        echo "<a href=\"modules.php?name=$module_name&amp;start=$major\">&gt;</a> ";
    }
   
    echo "</td><td width=\"15%\" align=\"right\">";
    echo "<a href=\"modules.php?name=$module_name&amp;func=add\">"._NEWENTRY."</a></td></tr></table>";
    CloseTable();
   
    $start *= 10;
    $result = sql_query("select * from ".$prefix."_gaestebuch ORDER BY id DESC LIMIT $start,10",$dbi);
   
   
    OpenTable();
    while($myrow = mysql_fetch_array($result)) {
        list($jahr,$monat,$tag,$stunde,$minute,$sekunde) = split('[-: ]',$myrow["datum"]);
        $email = $myrow["email"];
        $name = $myrow["name"];
        $text = $myrow["text"];
        $id = $myrow["id"];
        if($name == "") {
            $name = "Anonym";
        }
        echo "<table width=\"100%\"><tr><td colspan=\"2\"><b>";
        if($email=="") {
            echo "$name ";
        }
        else {
            echo "<a href=\"mailto:$email\">$name</a> ";
        }
        echo "</b>"._WROTEON." $tag.$monat.$jahr:</td></tr>";
        echo "<tr><td width=\"10%\">&nbsp;</td><td>$text</td></tr>";
        if(is_admin($admin)) {
            echo "<tr><td colspan=\"2\" align=\"right\">";
            echo "<a href=\"modules.php?name=$module_name&amp;func=edit&amp;id=$id\">Edit</a> ";
            echo "<a href=\"modules.php?name=$module_name&amp;func=delete&amp;id=$id\">Delete</a>";       
            echo "</td></tr>";
        }
        echo"</table>";
    }
    CloseTable();
    include("footer.php");
}
function addEntry() {
    global $module_name;
    include("header.php");
    global $userinfo,$user,$cookie;
    getusrinfo($user);
    if($userinfo[uname] != "") {
        $registered = true;
    }
    else {
        $registered = false;
    }
    OpenTable();
    echo "<center><font class=\"title\"><b>"._NEWENTRY."</b></font></center>";
    echo "<form action=\"modules.php?name=$module_name&amp;func=entryadded\" method=\"post\">";
    if(!$registered) {
        echo "<table><tr><td>"._NAME.":</td><td><input type=\"text\" name=\"guestname\" size=\"20\" maxlength=\"50\"></td></tr>";
        echo "<tr><td>eMail:</td><td><input type=\"text\" name=\"guestemail\" size=\"20\" maxlength=\"50\"></td></tr>";
    }
    else {
        echo "<table><tr><td>"._NAME.":</td><td>$userinfo[uname]</td></tr>";
        echo "<tr><td>eMail:</td><td>$userinfo[email]</td></tr>";
        echo "<input type=\"hidden\" name=\"guestname\" value=\"$userinfo[uname]\">";
        echo "<input type=\"hidden\" name=\"guestemail\" value=\"$userinfo[email]\">";
    }
    echo "<tr><td>"._TEXT.":</td><td><textarea cols=\"50\" rows=\"20\" name=\"guesttext\"></textarea></td></tr>";
echo "<input type=\"hidden\" name=\"guestdatum\" id=\"\datum\" value=\"".date("y-m-d H:i:s")."\">";

    echo "<tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit\" value=\""._SUBMIT."\"></td></tr></table>";

    echo "</form>";
    CloseTable();
    include("footer.php");
}

function deleteEntry() {
    global $module_name;
    global $admin;
    include("header.php");
    $entryToDelete = $_GET["id"];
    $sql = "DELETE FROM ".$prefix."_gaestebuch WHERE id=$entryToDelete";
    $result = sql_query($sql,$dbi);
    OpenTable();
    echo "<center><font class=\"title\"><b>"._ENTRYDELETED."</b></font></center><br>";
    echo "<center><a href=\"modules.php?name=$module_name\">"._BACK."</a></center>";
    CloseTable();
    include("footer.php");
}
function editEntry() {
    global $module_name;
    global $admin;
    include("header.php");
    OpenTable();
    $toBeEdited = $_GET["id"];
    $sql = "SELECT * FROM ".$prefix."_gaestebuch WHERE id=$toBeEdited";
    $result = sql_query($sql,$dbi);
    $myrow = mysql_fetch_array($result);
    $editname = $myrow["name"];
    $editemail = $myrow["email"];
    $edittext = $myrow["text"];
    echo "<center><font class=\"title\"><b>"._NEWENTRY."</b></font></center>";
    echo "<form action=\"modules.php?name=$module_name&amp;func=entryedited\" method=\"post\">";
    echo "<table><tr><td>"._NAME.":</td><td><input type=\"text\" name=\"guestname\" size=\"20\" maxlength=\"50\" value=\"$editname\"></td></tr>";
    echo "<tr><td>eMail:</td><td><input type=\"text\" name=\"guestemail\" size=\"20\" maxlength=\"50\" value=\"$editemail\"></td></tr>";
    echo "<tr><td>"._TEXT.":</td><td><textarea cols=\"50\" rows=\"20\" name=\"guesttext\">$edittext</textarea></td></tr>";
    echo "<tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit\" value=\""._SUBMIT."\"></td></tr></table>";
    echo "<input type=\"hidden\" name=\"identity\" value=\"$toBeEdited\">";
    echo "</form>";       
    CloseTable();
    include("footer.php");
}
function editedEntryToDB() {
    global $module_name;
    include("header.php");
    OpenTable();
    $guestname = $_POST["guestname"];
    $guestemail = $_POST["guestemail"];
    $id = $_POST["identity"];
    $guesttext = $_POST["guesttext"];
    $sql = "UPDATE ".$prefix."_gaestebuch SET name='$guestname',email='$guestemail',text='$guesttext' WHERE id=$id";
    $result = sql_query($sql,$dbi);
    echo "<center><font class=\"title\"><b>"._ENTRYEDITED."</b></font></center><br>";
    echo "<center><a href=\"modules.php?name=$module_name\">"._BACK."</a></center>";
    CloseTable();
    include("footer.php");
}
function entryToDB() {
    global $module_name;
    include("header.php");
    OpenTable();
    $guestname = $_POST["guestname"];
    $guestemail = $_POST["guestemail"];
    $guesttext = $_POST["guesttext"];
    $guesttext = check_words($guesttext);
    $guesttext = nl2br(check_html ($guesttext, ""));
    $guestdatum = $_POST["guestdatum"];   
    $sql = "INSERT INTO ".$prefix."_gaestebuch (name,email,text,datum) VALUES ('$guestname','$guestemail','$guesttext','$guestdatum')";
    $result = sql_query($sql,$dbi);
    echo "<center><font class=\"title\"><b>"._ENTRYADDED."</b></font></center><br>";
    echo "<center><a href=\"modules.php?name=$module_name\">"._BACK."</a></center>";
    CloseTable();
    include("footer.php");
}

switch($func) {
    case "add":
    addEntry();
    break;
   
    case "entryedited":
    editedEntryToDB();
    break;
   
    case "entryadded":
    entryToDB();
    break;
   
    case "edit":
    editEntry();
    break;
   
    case "delete":
    deleteEntry();
    break;
   
    default:
    displayGuests();
    break;
}

?>
Avatar billede lauer Nybegynder
20. maj 2003 - 11:52 #1
Fejlen kommer, når du har en fejl i mysql_query().

    $result = sql_query("select id from ".$prefix."_gaestebuch",$dbi);
    $number = mysql_num_rows($result);

Her kan du se at fejlen er at funktionen hedder mysql_query() og ikke sql_query() som du har skrevet.
En anden gang kan du prøve at sætte 'or die(mysql_error());' efter mysql_query().
Avatar billede syvon Nybegynder
20. maj 2003 - 13:27 #2
så får jeg disse fejl

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in c:\apache\htdocs\phpnuke\html\modules\guestbook\index.php on line 24

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\apache\htdocs\phpnuke\html\modules\guestbook\index.php on line 25


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\apache\htdocs\phpnuke\html\modules\guestbook\index.php on line 68
Avatar billede sostack Nybegynder
20. maj 2003 - 13:52 #3
linie 24 skal være:
$result = mysql_query("select id from " . $prefix . "_gaestebuch",$dbi);

//sostack
Avatar billede sostack Nybegynder
20. maj 2003 - 13:53 #4
som machomann også skrev :-)
Avatar billede syvon Nybegynder
20. maj 2003 - 14:19 #5
så er det at jeg får denne fejl

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in
Avatar billede sostack Nybegynder
20. maj 2003 - 14:32 #6
hvor connecter du til din database??
hvor defineres $dbi ??

//sostack
Avatar billede syvon Nybegynder
20. maj 2003 - 15:33 #7
dropper det.  men ellers tak for hjælpen :)
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