2013-11-22 138 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) –

相關問題