Page 1 of 1

sql warning cannot detect the number of rows with php tags

Posted: Tue Nov 29, 2005 9:48 am
by bxm_3
If I have code that identifies the num of rows and based on that condition the sql executes the code but I get the warning with the code


Here is the sql problem


$sqlss="select * from REGISTRATION where USERID=$USERID"; as well as
$sqlss="select * from REGISTRATION where USERID=$USERID or PASSWORD=$PASSWORD";

The warnings is
Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /content/StartupHostPlus/o/l/olol.org.uk/web/insert_registration.php on line 29

Do I have put the connections to the database and table outside the if statement for the rows.

Here is the code.
:
***************************************************************************

Code: Select all

<?php 
##session_start(); 
# connect to mysql 


if(($USERID=="")or($PASSWORD=="")or($NAME=="")or($DATE_OF_BIRTH=="")or($AGE=="")or($GENDER=="") 
or($LAST_CLASS=="")or($TEACHER=="")or($FUTURE_CLASS=="")or($ACTIVITY=="")or($COMMUNION=="") 
or($FATHER_NAME=="")or($FATHER_MOBILE=="")or($MOTHER_NAME=="")or($MOTHER_MOBILE=="") 
or($FATHER_EMAIL=="")or($MOTHER_EMAIL=="")or($FATHER_VOLUNTEER=="")or($MOTHER_VOLUNTEER=="") 
or($ADDRESS=="")or($HOME_TELEPHONE=="")or($EMERGENCY_TELEPHONE=="") 
or($FATHER_ORIGINAL_HOME_TOWN=="")or($MOTHER_ORIGINAL_HOME_TOWN=="") 
or($COMMENTS=="")or($SIGNATURE=="")) 
{ 
header("Location:insert_registration.html"); 
exit(); 
} 



$conn=@mysql_connect("mysql.hosts.co.uk","ololorguk","*****************") 
or die("Could not connect to the database."); 
# connect to database 
$rs=@mysql_select_db("ololorguk"); 
$rss=@mysql_select_db("ololorguk"); 
$rsss=@mysql_select_db("ololorguk"); 

$sqlss="select * from REGISTRATION where USERID=$USERID"; 
$rsss=@mysql_query($sqlss); 
$numss=mysql_numrows($rsss); 
if($numss==0) 
{ 

$sql="select * from REGISTRATION order by ID desc limit 1"; 

## posts in the last day 



$rs=@mysql_query($sql); 

$num=mysql_numrows($rs); 
##echo $num; 

##$num++; 

while($row=mysql_fetch_array($rs)) 
{ 
if($num!=0) 
{ 

##echo $row["ID"]; 
$row["ID"]++; 
##echo $row["ID"]; 
$nums=$row["ID"]; 
} 
else 
{ 
$nums=1; 
} 

} 
?> 

<BR> 
<BR> 
<?PHP 



$sqls="insert into REGISTRATION (ID,USERID,PASSWORD,NAME,DATE_OF_BIRTH,AGE,GENDER,LAST_CLASS,TEACHER,FUTURE_CLASS,ACTIVITY,COMMUNION,FATHER_NAME,FATHER_MOBILE,MOTHER_NAME,MOTHER_MOBILE, 
FATHER_EMAIL,MOTHER_EMAIL,FATHER_VOLUNTEER,MOTHER_VOLUNTEER,HOME_TELEPHONE,EMERGENCY_TELEPHONE,FATHER_ORIGINAL_HOME_TOWN,MOTHER_ORIGINAL_HOME_TOWN,ADDRESS,COMMENTS,SIGNATURE,TIME_CREATED,TIME_UPDATED) 
values('$nums','$USERID','$PASSWORD','$NAME','$DATE_OF_BIRTH','$AGE','$GENDER','$LAST_CLASS','$TEACHER','$FUTURE_CLASS','$ACTIVITY','$COMMUNION','$FATHER_NAME','$FATHER_MOBILE','$MOTHER_NAME','$MOTHER_MOBILE', 
'$FATHER_EMAIL','$MOTHER_EMAIL','$FATHER_VOLUNTEER','$MOTHER_VOLUNTEER', 
'$HOME_TELEPHONE','$EMERGENCY_TELEPHONE','$FATHER_ORIGINAL_HOME_TOWN','$MOTHER_ORIGINAL_HOME_TOWN', 
'$ADDRESS','$COMMENTS','$SIGNATURE',NOW(),NOW())"; 

$rss=@mysql_query($sqls,$conn) or die("Could not execute insertion."); 
if($rss) 
{ 
echo "Thank you very much for you very much for filling the registration form.Here is what you have written below.<br><br>"; 
echo"<TABLE>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Userid</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $USERID; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Password</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo "******"; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>NAME</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $NAME; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>DATE OF BIRTH</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $DATE_OF_BIRTH; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>AGE</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $AGE; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Last Class</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $LAST_CLASS; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Teacher</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $TEACHER; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Future Class</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $FUTURE_CLASS; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Activity</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $ACTIVITY; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Communion</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $COMMUNION; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Father's name</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $FATHER_NAME; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Father's mobile</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $FATHER_MOBILE; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Mother's name</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $MOTHER_NAME; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Mother's mobile</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $MOTHER_MOBILE; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Father's email</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $FATHER_EMAIL; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Mother's email</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $MOTHER_EMAIL; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Father's ability to volunteer</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $FATHER_VOLUNTEER; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Mother's ability to volunteer</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $MOTHER_VOLUNTEER; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Address</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $ADDRESS; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Home telephone number</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $HOME_TELEPHONE; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Emergency telephone number</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $EMERGENCY_TELEPHONE; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Father's original home</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $FATHER_ORIGINAL_HOME_TOWN; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Mother's original home</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $MOTHER_ORIGINAL_HOME_TOWN; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>Abything else</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $COMMENTS; 
echo"</TD>"; 
echo"</TR>"; 
echo"<TR>"; 
echo"<TD>"; 
echo"<B>SIGNATURE</B>"; 
echo"</TD>"; 
echo"<TD>"; 
echo $SIGNATURE; 
echo"</TD>"; 
echo"</TR>"; 
echo"</TABLE>"; 

} 
} 
else 
{ 
?> 
<SCRIPT LANGUAGE="Javascript"> 
alert("Either userid or password or both cannot be used.") 
</SCRIPT> 
<?php 
} 
?> 
<br> 
<? 
## counts number of rows 

?> 

<? 



?>
******************************************************************************

Posted: Tue Nov 29, 2005 10:01 am
by pickle
Take off all your '@' until you're done testing. Many times those '@' hide useful errors. If that doesn't give you anything, echo your query before you execute it, and run it from the command line. Sometimes that gives you a more useful error.

Posted: Tue Nov 29, 2005 11:59 pm
by AGISB

Code: Select all

$sqlss="select * from REGISTRATION where USERID=$USERID";
$rsss=@mysql_query($sqlss);
$numss=mysql_numrows($rsss);
1. $sqlss="select * from REGISTRATION where USERID='$USERID'";
2. $numss=mysql_num_rows($rsss)


I believe that the select statement is incorrect and therefore $rsss is invalid.