2013-11-22 56 views
-1

的问题如下:mysql_num_rows():提供的参数不是一个有效的MySQL结果资源警告

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a2138233/public_html/etc/e.conf/sys.proc/proc.reg/use.register.php on line 113 

这里的use.register.php 113 线:

$sql_email_check = mysql_query("SELECT uMail FROM eusers WHERE uMail='$rmail' "); 
$email_check = mysql_num_rows($sql_email_check); 

这里的变量设置为“$ rmail”:

$rmail  = mysql_real_escape_string(strip_tags($_POST['rmail'])); 

下面是HTML行:

<input type="text" class="umail" id="ftxti" name="rmail" placeholder='[email protected]' style="width: 530px;" > 

全码:

<?php 
$mysql_host = ""; 
$mysql_database = ""; 
$mysql_user = ""; 
$mysql_password = ""; 

$link = mysql_connect($mysql_host, $mysql_user, $mysql_password, $mysql_database); 
mysql_select_db("tmpu"); 

?> 

<?php 
if(isset($_POST['register'])){ 

    //set form variables 

    $rmail  = mysql_real_escape_string(strip_tags($_POST['rmail'])); 

    $fname  = mysql_real_escape_string(strip_tags($_POST['fname'])); 
    $lname  = mysql_real_escape_string(strip_tags($_POST['lname'])); 

    $rname  = mysql_real_escape_string(strip_tags($_POST['rname'])); 

    $rpass  = mysql_real_escape_string(strip_tags($_POST['rpass'])); 
    $vpass  = mysql_real_escape_string(strip_tags($_POST['vpass'])); 


    if(isset($_POST['gender'])){ 
     $rgen = mysql_real_escape_string(strip_tags($_POST['gender'])); 
     } 

    if(isset($_POST['dobm'])){ 
     $dobm = mysql_real_escape_string(strip_tags($_POST['dobm'])); 
     } 

    if(isset($_POST['$dobd'])){ 
     $dobd = mysql_real_escape_string(strip_tags($_POST['dobd'])); 
     } 

    if(isset($_POST['doby'])){ 
     $doby = mysql_real_escape_string(strip_tags($_POST['doby'])); 
     } 

    if(isset($_POST['TOS'])){ 
     $TOS = mysql_real_escape_string(strip_tags($_POST['TOS'])); 
     } 

    $dab   = $doby.$dobm.$dobd; 


    //check empty feilds 

     $error = FALSE; 

if(empty($rmail)){ 
      $error = TRUE; 
      $eh = "<div class=em> Please enter an <b>Email Adress</b> to reach you from. 
      This email will be used to Verify your acctount and activate it. </div>"; 
     } 

     if(!empty($rmail)){ 
     if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $rmail)){ 
      $error = TRUE; 
      $eh1 = "<div class=em> This is not a valid email... </div>"; 
     }} 

     if(empty($fname) && empty($lname)){ 
      $error = TRUE; 
      $eh2 = "<div class=em> Please enter your <b> First </b> and <b> Last </b> name. </div>"; 
     } 

     if(!empty($fname)){ 
      if(empty($lname)){ 
      $error = TRUE; 
      $eh3 = "<div class=em> Please enter a <b> Last </b> name. </div>"; 
      } 
     } 

     if(!empty($lname)){ 
      if(empty($fname)){ 
      $error = TRUE; 
      $eh4 = "<div class=em> Please enter a <b> First </b> name. </div>"; 
      } 
     } 

     if(empty($rname)){ 
      $error = TRUE; 
      $eh5 = "<div class=em> Please enter a <b>Username</b>. This will be used as your ewotty display name, You can Change it at anytime. </div>"; 
     } 

     if(empty($rpass)){ 
      $error = TRUE; 
      $eh6 = "<div class=em> Please enter a <b>Password</b>. This will be used to login to your account, Do not give it to anyone!</div>"; 
     } 

     if($vpass != $rpass){ 
      $error = TRUE; 
      $eh7 = "<div class=em> Your Password Verifications Did nont match, Please try again. This is to help you make sure you entered the right 
      password.</div>"; 
     } 

     if(empty($dobm) && empty($dobd) && empty($doby)){ 
      $error = TRUE; 
      $eh8 = "<div class=em> Please Your valid <b>Birthday</b>. </div>"; 
     } 

     if(strlen($rname) >15){ 
      $error = TRUE; 
      $eh9 = "<div class=em> Your username is too long. (Max 15 char)</div>"; 
     } 

     $sql_email_check = mysql_query("SELECT uMail FROM eusers WHERE uMail='$rmail' "); 
     $email_check = mysql_num_rows($sql_email_check); 

      var_dump($sql_email_check); 
      var_dump($rmail); 

     if ($email_check > 0){ 
      $error = TRUE; 
      $eh10 = "<div class=em> The <b>email: $rmail </b> is already in use, Please register another.</div>"; 
     } 

     $sql_tmpemail_check = mysql_query("SELECT uMail FROM tmpu WHERE uMail='$rmail'"); 
     $tmpemail_check = mysql_num_rows($sql_tmpemail_check); 

     if ($tmpemail_check > 0){ 
      $error = TRUE; 
      $eh11 = "<div class=em> The <b>email: $rmail </b> is already being registered.</div>"; 
     } 


     $sql_user_check = mysql_query("SELECT uName FROM eusers WHERE uName='$rname'"); 
     $user_check = mysql_num_rows($sql_user_check); 

     if ($user_check > 0){ 
      $error = TRUE; 
      $eh12 = "<div class=em> The <b>username: $rname</b> is already in use by another user. Try another.</div>"; 
     } 

     $sql_tmpuser_check = mysql_query("SELECT uName FROM tmpu WHERE uName='$rname'"); 
     $tmpuser_check = mysql_num_rows($sql_tmpuser_check); 

     if ($tmpuser_check > 0){ 
      $error = TRUE; 
      $eh13 = "<div class=em> The <b>username: $rname</b> is already being registered.</div>"; 
     } 

     if(empty($tos)){ 
      $error = TRUE; 
      $ehTOS = "<div class=em> You did not agree to our <a href=#>TOS</a> </div>"; 
     } 

     /* display Error message if problem exists */ 
     if($error == TRUE) 
      { 
      echo "<style type='text/css'>#ers{display: block;}</style>"; 
      }else{ 
      echo "<style type='text/css'>#ers{display: none;}</style>"; 
      echo "<style type='text/css'>#srs{display: block;}</style>"; 




      $act = md5(crypt($umail)); 
      $hash = mysql_real_escape_string(strip_tags(md5(crypt($rmail,$eupass)))); 
      $verf = mysql_real_escape_string(strip_tags(md5(crypt($eupass)))); 
      $eupass = strip_tags(md5(md5($rpass))); 

     mysql_query("INSERT INTO tmpu (uName, fName, lName, uMail, uPass, uDob, uAct, hash, verif) VALUES 
     ('$rname', '$fname', '$lname', '$rmail', '$eupass','$dab', '$act', '$hash','$verf')") or die (mysql_error()); 

// ---------------- SEND MAIL FORM ---------------- 

    $webmaster = "[email protected]"; 

    $to = $rmail; 
    $subject = "ewotty activation"; 
    $header = "From: Ewotty <$webmaster>"; 
    $message = " 
    Hello $fname \r 
     Welcome to ewotty cloud community, You are atempting to register a new account with us, But to complete your registeration you will need to 
     verify your account with the verfication link provided to you bellow. Once you've click this link and no errors have accured in the procces, You 
     will be shown a green check to notate a successful registeration.\r 

     Instructions: 
     once you see the green check mark, do not navigate from page wait till the page redirects in about 3-4 seconds to the homepage 
     If the page dose not redirect, you will be provided a maual redirect at the bottom of the screen. \r 

     Here's the link you will need to activate your ewotty account: \r 
    http://www.ewotty.cu.cc/activation/?ui=$act&acthash=$hash&verif=$verf"; 

    mail($to, $subject, $message, $header);   
}}; 

>

+0

做一个'var_dump($ sql_email_check);'看看打印出来。如果它输出false,那么在查询中有错误。话虽如此,你真的应该真正考虑PDO。 – Kyle

+0

查询可能因$ rmail变量而失败。 – Mihai

+0

好吧'它返回一个错误的布尔值。我不知道该怎么做,我不是很熟悉MSQL和PHP ...主要是MSQL .. – excoret

回答

0

你需要一个值属性附加伤害在你输入

<input type="text" class="umail" id="ftxti" name="rmail" value="" placeholder='[email protected]' style="width: 530px;" > 

,我不知道你在你的代码有一个表单标签? 。

<form name="yourform" method="POST" action ="" > 

    ......... 
    your html inputs here 

</form> 
+0

值由用户输入,不是? –

+0

这是一个文本输入需要的值吗?也不是表单所需的唯一标签,除非您使用其他“实时”语言(如ajaz或java),否则该方法和动作必须属于该方法和动作? – excoret

+0

@excoret是的,你也可以使用名称属性,[检查这个](http://www.w3schools.com/tags/att_form_name.asp) –

相关问题