Ik kan de fout niet vinden in dit script
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)
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
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.' '.$sTeken.' ';
}
echo'</marquee>';
?>
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.' '.$sTeken.' ';
}
echo'</marquee>';
?>
Ik krijg het niet opgelost ziet iemand wat er fout is?
Hij heeft het altijd gedaan tot ik iets veranderd heb maar wat weet ik niet meer
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?
ps. Hoe kom je bijvoorbeeld aan $bAantal?
Ik heb het script niet zelf geschreven
Maar pas dan eens goede foutafhandeling toe, en laat de error die je mysql query veroorzaakt ook echoen op je scherm...
Zo ver ben ik nog niet met php :S
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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);
}
?>
$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
Code (php)
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
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.' '.$sTeken.' ';
}
echo'</marquee>';
?>
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.' '.$sTeken.' ';
}
echo'</marquee>';
?>
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.
Dat stuk laat je daarna weg. Want anders heeft die foutafhandeling nog geen nut.
ok ik ga het proberen