Page 1 of 1

[SOLVED] fetch result

Posted: Fri Sep 17, 2004 7:24 am
by sguy
i need to send a message to a receiver, if the user not in the database, echo the "Unknown user", if the user is in the database, then the message will be sent to the receiver
although i use mysql_fetch_row, mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_field, mysql_num_fields, mysql_num_rows
it just shows "Unknown user".....
hope you all can teach me...
thank you..

Code: Select all

$result = mysql_query("SELECT username FROM ".$DBprefix."signup WHERE username='$nickname'") or die(mysql_error()); 
 
if (mysql_fetch_field($result) != $adres) { 
echo"Unknown user";	
} else { 
$datetime = date("Y-m-d G:i:s ");
	$query = mysql_query("INSERT INTO ".$DBprefix."inbox (messageID,adres,sender,DateRecieved,title,message,isRead) values ('','$adres','$nickname','$datetime','$subject','$content','')");
	echo"Your message has been sent to $adres";
} 
} 
$result = mysql_query($query);

Posted: Fri Sep 17, 2004 7:53 am
by AVATAr
are you sure that

Code: Select all

<?php
$result = mysql_query("SELECT username FROM ".$DBprefix."signup WHERE username='$nickname'")
?>
returns a row? check it running the query directly in the DB.

I think a better approach could be asking if the [php_man]mysql_num_rows[/php_man] function returns 1.

Posted: Fri Sep 17, 2004 12:57 pm
by John Cartwright
$result = mysql_query($query) or die('error: '. mysql_error());

Posted: Sat Sep 18, 2004 5:16 am
by sguy
problem solved

Code: Select all

$result = mysql_result(mysql_query("select count(*) from ".$DBprefix."signup where `username`='".$adres."'"), 0,0); 
if ($result == 0) 
{ 
echo "Unknown user"; 
} 
else 
{ 
$datetime = date("Y-m-d G:i:s ");
	$query = mysql_query("INSERT INTO ".$DBprefix."inbox (messageID,adres,sender,DateRecieved,title,message,isRead) values ('','$adres','$nickname','$datetime','$subject','$content','')");
	echo"Your message has been sent to $adres";
} 
} 
$result = mysql_query($query);

Posted: Sat Sep 18, 2004 9:48 am
by feyd
I'd highly suggest removing line 13.