Ik kan de fout niet vinden in dit script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Remco van Lent

Remco van Lent

03/01/2007 14:18:00
Quote Anchor link
ik krijg deze fout


Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /storage/mijndomein/users/040467/public/sites/www.timetomeet.nl/leden/shout.php on line 6
:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /storage/mijndomein/users/040467/public/sites/www.timetomeet.nl/leden/shout.php on line 6



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
<?php
include_once("connect.php");

$query = mysql_query("SELECT * FROM bbalk ORDER BY id DESC LIMIT ".$bAantal);  // Selecteren vanuit tabel bbalk
echo'        <marquee id="shout">';  
while($bericht == mysql_fetch_object($query)) {
$zoekterm = Array(':D',':d',':P',':p',
          ':(',';D',
          ':|',':s',':S','8)',
          '(H)','(h)',';D',':)',
          ':$',':\'(',':@',';)');
        
$vervanging  = Array('XDQ','XDQ','XPQ','XPQ',
          'X(Q','X;DQ','X-,-Q',
          'XSQ','XSQ','X(H)Q',
          'X(H)Q','X(H)Q','cheer','X)Q',
          'X$Q','X:(Q','X@Q','X;)Q');  
        

$vervanging  = str_replace('X','<img src="smilies/',$vervanging);
$vervanging  = str_replace('Q','.gif">',$vervanging);
$bericht->bericht = stripslashes($bericht->bericht);
$berichtje  = str_replace($zoekterm,$vervanging,$bericht->bericht);
$email = stripslashes($bericht->email);
$naam = stripslashes($bericht->naam);


  echo ' <b>'.$naam.':</b> '.$berichtje.'&nbsp;'.$sTeken.'&nbsp;';
}

echo'</marquee>';
?>


Ik krijg het niet opgelost ziet iemand wat er fout is?
 
PHP hulp

PHP hulp

24/11/2024 01:45:58
 
Joren de Wit

Joren de Wit

03/01/2007 14:19:00
Quote Anchor link
Waar is de foutafhandeling bij je mysql query gebleven? Hoogstwaarschijnlijk gaat je script daar de fout in...

ps. Hoe kom je bijvoorbeeld aan $bAantal?
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Remco van Lent

Remco van Lent

03/01/2007 14:20:00
Quote Anchor link
Hij heeft het altijd gedaan tot ik iets veranderd heb maar wat weet ik niet meer
 
Remco van Lent

Remco van Lent

03/01/2007 14:21:00
Quote Anchor link
Blanche schreef op 03.01.2007 14:19:
Waar is de foutafhandeling bij je mysql query gebleven? Hoogstwaarschijnlijk gaat je script daar de fout in...

ps. Hoe kom je bijvoorbeeld aan $bAantal?


Ik heb het script niet zelf geschreven
 
Joren de Wit

Joren de Wit

03/01/2007 14:22:00
Quote Anchor link
Maar pas dan eens goede foutafhandeling toe, en laat de error die je mysql query veroorzaakt ook echoen op je scherm...
 
Remco van Lent

Remco van Lent

03/01/2007 14:23:00
Quote Anchor link
Zo ver ben ik nog niet met php :S
 
Joren de Wit

Joren de Wit

03/01/2007 14:26:00
Quote Anchor link
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
<?php
$sql
= 'blaat';

if(!$res = mysql_query($sql));
{

    echo '<pre>';
    trigger_error(mysql_errno().': '.mysql_error());
    echo $sql;
    echo '</pre>';
}

else
{
    $object = mysql_fetch_object($res);
}

?>

Zoiets bijvoorbeeld...

ps. Wat gebeurt hier: als de mysql query mislukt worden de foutmelding met bijbehorende code op het scherm getoond, evenals de query waarin het fout ging...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Remco van Lent

Remco van Lent

03/01/2007 14:30:00
Quote Anchor link
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
37
38
39
40
41
42
43
44
45
46
47
<?php
include_once("connect.php");



$sql = 'baantal';

if(!$res = mysql_query($sql));
{

    echo '<pre>';
    trigger_error(mysql_errno().': '.mysql_error());
    echo $sql;
    echo '</pre>';
}

else
{
    $object = mysql_fetch_object($res);
}


$query = mysql_query("SELECT * FROM bbalk ORDER BY id DESC LIMIT ".$bAantal);  // Selecteren vanuit tabel bbalk
echo'        <marquee id="shout">';  
while($bericht == mysql_fetch_object($query)) {
$zoekterm = Array(':D',':d',':P',':p',
          ':(',';D',
          ':|',':s',':S','8)',
          '(H)','(h)',';D',':)',
          ':$',':\'(',':@',';)');
        
$vervanging  = Array('XDQ','XDQ','XPQ','XPQ',
          'X(Q','X;DQ','X-,-Q',
          'XSQ','XSQ','X(H)Q',
          'X(H)Q','X(H)Q','cheer','X)Q',
          'X$Q','X:(Q','X@Q','X;)Q');  
        

$vervanging  = str_replace('X','<img src="smilies/',$vervanging);
$vervanging  = str_replace('Q','.gif">',$vervanging);
$bericht->bericht = stripslashes($bericht->bericht);
$berichtje  = str_replace($zoekterm,$vervanging,$bericht->bericht);
$email = stripslashes($bericht->email);
$naam = stripslashes($bericht->naam);


  echo ' <b>'.$naam.':</b> '.$berichtje.'&nbsp;'.$sTeken.'&nbsp;';
}

echo'</marquee>';
?>
is dit goed?
 
Frank -

Frank -

03/01/2007 14:34:00
Quote Anchor link
Domme vraag, dat kun je zelf testen.

Ik zie in elk geval een query in de code staan waarbij niet wordt gecontroleerd of deze wel is gelukt. Dit gaat vroeg of laat dus gegarandeerd verkeerd.

Verder is het niet handig om mysql_fetch_object() te gebruiken, dat is veruit de langzaamste fetch-functie. Tevens ben jij geen OOP aan het toepassen en slaat het begrip 'object' dus ook nergens op. Gebruik mysql_fetch_assoc(), die is vele malen sneller. Zie de handleiding hoe je deze moet toepassen.
 
Joren de Wit

Joren de Wit

03/01/2007 14:34:00
Quote Anchor link
Nee. $sql in mijn voorbeeld bevat de query die je wilt uitvoeren. Dus de de query die bij jou nu op regel 20 staat, hetgene binnen de mysql_query() functie...

Dat stuk laat je daarna weg. Want anders heeft die foutafhandeling nog geen nut.
 
Remco van Lent

Remco van Lent

03/01/2007 14:45:00
Quote Anchor link
ok ik ga het proberen
 



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.