Hij zegt nee, terwijl ja het geval is(mysql)
$result = mysql_query("SELECT COUNT(msgid) FROM berichten WHERE username = ".$_SESSION['username']."");
if(empty($result))
{
echo "<script>alert('You have no messages in your inbox.'); document.location.href=('inbox.php')</script>";
}
else
{
mysql_query("DELETE FROM berichten WHERE username = " . $_SESSION['username'] . "") or die(mysql_error());
echo "<h1>Inbox Cleared</h1>";
echo "Inbox successfully cleared !";
echo "<br>\n<br>\n";
echo "<img src=\"test/icons/inbox.gif\"> <a href=\"inbox.php\">My Inbox</a>";
echo "<br>\n";
echo "<img src=\"test/icons/home.gif\"> <a href=\"beveiligde_pagina.php\">Home Page</a>";
}
Hij moet dus weergeven die alert geven als er geen berichten zijn. En anders de inbox deleten. Maar bij mij geeft hij die alert, terwijl er wel berichten zijn. Waar ligt dit aan?
veranderen in:
if (mysql_num_rows ($result) == 0)
Welk getal wordt er nu op scherm getoond?
En heb je de queries al eens via phpmyadmin uitgevoerd? Wat waren de resultaten?
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/picsupload/delete2.php on line 27
Quote:
En heb je de queries al eens via phpmyadmin uitgevoerd? Wat waren de resultaten?[/QUOTE] Wat leverde dit op?
#1054 - Unknown column 'd' in 'where clause' , terwijl d toch in de table staat.
$result = mysql_query("SELECT COUNT(msgid) FROM berichten WHERE username = '".$_SESSION['username']."'"); en dan in phpmyadmin doet ie et goed, maar via php niet.
Dennis:
#1054 - Unknown column 'd' in 'where clause' , terwijl d toch in de table staat.
d ??? Waar komt 'd' vandaan? Dat moet een andere query zijn, in bovenstaande queries noem je deze namelijk niet.
En als ik dit doe: echo mysql_num_rows($result); met bovenstaande select dan krijg ik 1 als uittvoer, terwijl er 3 berichten zijn. Maar als ik echo mysql_num_rows($result); niet heb en de rest va de code wel inclusief bovenstaande select krijg ik de melding Unknown column 'd' in 'where clause'
Gewijzigd op 22/12/2005 21:33:00 door Dennis van der Meer
Nee, d wordt als een kolomnaam gezien, zie de foutmelding.
Hoe moet ik deze regel dan aanpassen:
$result = mysql_query("SELECT COUNT(msgid) FROM berichten WHERE username = '".$_SESSION['username']."'");
Gewijzigd op 22/12/2005 21:38:00 door Dennis van der Meer
En als zo is zal het komen omdat er geen quotes omheen staan vermoedelijk. Echo je query eens naar het scherm?
$result = mysql_query("SELECT COUNT(msgid) FROM berichten WHERE username = '".$_SESSION['username']."'");
echo $result;
krijg ik: Resource id #5
Gewijzigd op 22/12/2005 21:41:00 door Dennis van der Meer
Frank:
Nee, d wordt als een kolomnaam gezien, zie de foutmelding.
Dat komt omdat de 'session's username' niet tussen enkele quotes staat. Dan wordt het als een colomn gezien.
Gewijzigd op 22/12/2005 21:41:00 door Jan Koehoorn
Dennis:
Als ik zo doe:
$result = mysql_query("SELECT COUNT(msgid) FROM berichten WHERE username = '".$_SESSION['username']."'");
echo $result;
krijg ik: Resource id #5
$result = mysql_query("SELECT COUNT(msgid) FROM berichten WHERE username = '".$_SESSION['username']."'");
echo $result;
krijg ik: Resource id #5
Nee, anders doen:
$query = "SELECT COUNT(msgid) FROM berichten WHERE username = '".$_SESSION['username']."'";
echo $query;
$result = mysql_query($query);
in deze regel ook die ' en ' vergeten.
mysql_query("DELETE FROM berichten WHERE username = " . $_SESSION['username'] . "") or die(mysql_error());
Bedankt mensen.
Gewijzigd op 22/12/2005 23:19:00 door Dennis van der Meer
Je hebt hier nog steeds geen ' eromheen staan :S