PHP database error

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

MRZ

MRZ

30/12/2008 22:49:00
Quote Anchor link
Ik zit een klein forum achtig iets te maken maar ik kom met het volgende probleem

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\test\viewtopic.php on line 6

dit zijn de lijnen van 1 tot 6

$con = mysql_connect("host", "user", "password") or die ("Kon geen verbinding maken met de database");
$db = mysql_select_db("database") or die ("Kon geen database selecteren");
$sql = "SELECT id, sub, msg FROM comments WHERE id = $_HTTP_GET_VARS[f]";
$q = mysql_query($sql);
$res = mysql_fetch_array($q);
 
PHP hulp

PHP hulp

08/11/2024 13:34:13
 
Klaasjan Boven

Klaasjan Boven

30/12/2008 22:54:00
Quote Anchor link
je query is mislukt. Ik stel voor dat je de beginnershandleidig sql even leest. Iemand post zo wel eve de lik die heb ik niet paraat.
overigens is $_HTTP_GET_VARS volgens mij van voor 1982
 
Jesper Diovo

Jesper Diovo

30/12/2008 22:55:00
Quote Anchor link
Waaaaaaaar is je foutafhandeling?! Waaaaaaaaaaaaar controleer je of je query gelukt is? Waaaaaaaaaaaar echo je de error?
 
Klaasjan Boven

Klaasjan Boven

30/12/2008 23:00:00
 
MRZ

MRZ

30/12/2008 23:15:00
Quote Anchor link
Het script...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
$con
= mysql_connect("host", "user", "password") or die ("Kon geen verbinding maken met de database");
$db = mysql_select_db("test") or die ("Kon geen database selecteren");
$sql = "SELECT id, sub, msg FROM comments WHERE id = $_HTTP_GET_VARS[f]";
$q = mysql_query($sql);
$res = mysql_fetch_array($q);

    $row['msg'] = nl2br(htmlentities($row['msg']));
    
    echo "<b>" . $row['sub'] . "</b> op " . $row['datum'] . "<p>";
    
    echo $row['msg'];
    
    echo "------------------<br>";
    echo "<b>Topics:<br></b>";
    echo "------------------<p>";
    
    $sql = "SELECT user,message FROM comments WHERE id = " . $_GET['id'];
    $res = mysql_query($sql);
    if (mysql_num_rows($res) >= 1)
    {

        while ($row = mysql_fetch_array($res))
        {

            echo "<b>" . $row['user'] . "</b><br>";
            $row['msg'] = htmlentities($row['msg']);
            $row['msg'] = nl2br($row['msg']);
            
            echo $row['bericht'] . "<p>";
        }
    }

    else
    {
        echo "Er zijn geen topics's.";
    }

echo "<p><a href=\"index.php\">topic's overzicht</a></p>";
?>
 
Klaasjan Boven

Klaasjan Boven

30/12/2008 23:29:00
Quote Anchor link
De handleiding nog niet gelezen zie ik??
 
MRZ

MRZ

30/12/2008 23:40:00
Quote Anchor link
Nope zal ook niet gebeuren :P want het is een fout in de $_HTTP_GET_VARS[f]
alleen weet ik niet precies wat :\
 
Hipska BE

Hipska BE

30/12/2008 23:43:00
Quote Anchor link
Ok, zolang je dat niet doet kunnen we je niet verder helpen.
 
MRZ

MRZ

31/12/2008 00:09:00
Quote Anchor link
Wat is dat flauw... ik heb het toch maar zitten lezen en het heeft niet echt geholpen want het is een herhaling :\
 
Hipska BE

Hipska BE

31/12/2008 00:12:00
Quote Anchor link
Daarnet zei je nog dat je het niet gelezen hebt en niet zal lezen ook..
 
MRZ

MRZ

31/12/2008 00:18:00
Quote Anchor link
Changed my mind? en ik heb het all eens eerder doorgenomen en nu weer :O
was ongeveer 30 min geleden ook nog :O
 
Hipska BE

Hipska BE

31/12/2008 00:24:00
Quote Anchor link
Je controleert nergens of je query's gelukt zijn, dit wordt duidelijk telkens wel gedaan in die tutorial. Dus nogmaals lezen is de boodschap.

$_GET['f'] moet je gebruiken btw.
 
MRZ

MRZ

31/12/2008 00:34:00
Quote Anchor link
Bedoel je dit met het checken van de QUERY????


if($_POST['msg'] == "")
{
echo("<center>De query is niet gelukt! (Geen message), terug naar <a href=index.php title=homepage>homepage</a></center>");
}
elseif($_POST['user'] == "")
{
echo("<center>De query is niet gelukt! (Geen user), terug naar <a href=index.php title=homepage>homepage</a></center>");
}
elseif($_POST['sub'] == "")
{
echo("<center>De query is niet gelukt! (Geen subject), terug naar <a href=index.php title=homepage>homepage</a></center>");
}
else
{
$id = mysql_query("SELECT id FROM comments");
$id1 = $id ++;
$datum = date("Y-m-d");
$tijd = date("H:i");
$query = mysql_query("INSERT INTO comments
(id, sub, user, msg, datum, tijd, visable)
VALUES ('$id1', '$_POST', '$_POST[user]', '$_POST[msg]', '$datum', '$tijd', '$_POST[visable]')");
echo("<center>De query is gelukt, terug naar <a href=index.php title=homepage>homepage</a></center>");
}
?>
 
Hipska BE

Hipska BE

31/12/2008 00:37:00
Quote Anchor link
jij doet dit:
$query = mysql_query("INSERT INTO comments
(id, sub, user, msg, datum, tijd, visable)
VALUES ('$id1', '$_POST', '$_POST[user]', '$_POST[msg]', '$datum', '$tijd', '$_POST[visable]')");
echo("<center>De query is gelukt, terug naar <a href=index.php title=homepage>homepage</a></center>");

Je zegt dat de query gelukt is. Maar hoe weet jij dat zo zeker als je het niet eens controleerd?

Lees hem nog maar eens..
 
MRZ

MRZ

31/12/2008 00:40:00
Quote Anchor link
hij komt in me database en als ik een query het ophalen van de msg user time en date dan komt alles gewoon tevoorschijn...
 
Hipska BE

Hipska BE

31/12/2008 00:42:00
Quote Anchor link
Maar wat als hij nu om een of andere reden niet in je database is gekomen? Dan zegt uw script nog steeds: "De query is gelukt, ...."

En daar zit je probleem.
 
MRZ

MRZ

31/12/2008 00:46:00
Quote Anchor link
Kijkt u eens goed \/

Afbeelding
 
MRZ

MRZ

31/12/2008 01:15:00
Quote Anchor link
Ik heb het all opgelost ;) het was geen sql fout zoals ik all zei lag het aan dit
$_HTTP_GET_VARS[f]

de volgende regel:

$sql = "SELECT id,sub,msg FROM comments WHERE id = 'HTTP_GET_VARS[f]'";
' de commas '

het was eerst:
$sql = "SELECT id,sub,msg FROM comments WHERE id = HTTP_GET_VARS[f]";
' geen commas '

Maar toch zeer bedankt voor jullie hulp :D


Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door MRZ
 
PHP Newbie

PHP Newbie

31/12/2008 01:54:00
Quote Anchor link
Luister je wel naar het commentaar wat hier gegeven wordt?

Geen HTTP_* gebruiken. We hebben $_POST en $_GET daarvoor.

Verder mist er foutafhandeling. Een query lukt niet vanzelfsprekend.

Sta er verder niet van te kijken als op een gegeven moment je database leeg is. Zoek maar even op wat sql injection is.
 
MRZ

MRZ

31/12/2008 02:14:00
Quote Anchor link
Sorry dat ik niet luister maar ik ga vanuit de syntaxis die bij mij werken en
dat ik een sql tutorial moet door nemen vind ik een beetje flauw als ik een kleine coma alleen ben vergeten maar mijn excuses zou u mij kunnen uitleggen hoe ik dan dit kan oplossen:

$sql = "SELECT id,sub,msg FROM comments WHERE id = 'HTTP_GET_VARS[f]'";

echo "<a href=\"viewtopic.php?f=" . $row['id'] . "\">" . $row['sub'] . "</a><br>";

de url in me browser word bijv http://localhost/viewtopic.php?f=1

hoe zou ik dan die "1" moeten verkrijgen in mijn php script met een $_GET[]; ??
 
- SanThe -

- SanThe -

31/12/2008 02:18:00
Quote Anchor link
Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
 

Pagina: 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.