PDA

View Full Version : درباره خطای Warning: mysql_num_rows() کسی میدونه؟؟؟



arezoo021
سه شنبه 13 خرداد 1393, 14:05 عصر
دوستان چیکار کنم این خطا رو نده؟


Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/host/public_html/get_register.php on line 40

همینجوری برنامه هیچ اروری نمیده. اما اگه با نرم افزار Acunetix چک کنم سایت رو ارور sql injection میگیره از این کد.

کد برنامه:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" dir="rtl"><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Language" content="fa"> <script type="text/javascript" language="JavaScript" src="JScripts/amin.js"></script><script type="text/javascript" language="JavaScript" src="JScripts/calendar.js"></script><script type="text/javascript" src="jscripts/livevalidation.js"></script><body ><?php // PHP Is Love :Dinclude 'db_connect.php';include 'jdf.php';$mes='';function isValidEmail($email){ $pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"; if (@mb_eregi($pattern, $email)){ return true; } else { return false; } }$v1=$_GET['v1'];$v2=$_GET['v2'];$v3=$_GET['v3'];$v4=$_GET['v4'];$v5=$_GET['v5'];$v6=$_GET['v6'];$v7=$_GET['v7'];$v8=$_GET['v8'];$v9=$_GET['v9'];$v10=$_GET['v10'];$v11=$_GET['v11']; $rs_duplicates = mysql_query("select * from user where username='$v1'"); $duplicates = mysql_num_rows($rs_duplicates); if ($duplicates > 0) $mes=$mes.'كدكاربري وارد شده تكراري ميباشد'.''; if (strlen($v1)<5) $mes=$mes.'تعدادكاراكترهاي واردشده براي كدكاربري كمتراز حدمجاز ميباشند.' .''; if($v2<>$v3) $mes=$mes.'رمزهاي واردشده با هم مساوي نيستند' .''; if ((strlen($v2)<5) or (strlen($v2)<5)) $mes=$mes.'تعدادكاراكترهاي واردشده براي رمز كمترازحدمجاز ميباشند' .''; if (!isValidEmail($v4)) $mes=$mes.'آدرس ايميل واردشده نامعتبرميباشد' .''; if (strlen($v6)<3) $mes=$mes.'تعدادكاراكترهاي واردشده براي نام كمتراز حدمجاز ميباشند.' .''; if (strlen($v7)<3) $mes=$mes.'تعدادكاراكترهاي واردشده براي نام خانوادگي كمتراز حدمجاز ميباشند.' .''; if (!is_numeric($v8)) $mes=$mes.'شماره تلفن واردشده نامعتبر ميباشد' .''; if (strlen($v9)<6) $mes=$mes.'تعدادكاراكترهاي واردشده براي دارنده حساب كمتراز حدمجاز ميباشند.' .''; if (strlen($v10)<5) $mes=$mes.'شماره حساب نامعتبر ميباشد' .'';if ( empty($mes)){ $md5pass = md5($v2); $nextWeek = time() + ((11 * 60 * 60)+30*60); $reg_date=jdate('Y/m/d',$nextWeek); mysql_query("INSERT INTO user VALUES ('$v1','$md5pass','$v4','$v5','$v6','$v7','$v8','$ v9','$v10','$v11','$reg_date')") or die(mysql_error());echo 'عضويت شما با موفقيت انجام شد براي ورود به سايت '.'&nbsp;<a href="login.php" target="_self" style="color:#FFFFFF"><b>اينجـا</b></a>&nbsp;'.'كليك كنيد';}else{echo 'اخطار؟'.'';echo $mes;}?> </body></html>


کد برنامه اگه بهم ریخته نشون داد اینجا هم آپلود کردم:


http://upir.ir/93.3/r.zip