2014-04-03 45 views
0

以下是完整的錯誤腓錯誤:警告:mysql_num_rows()預計參數1是資源

警告:mysql_num_rows()預計參數1是資源,布爾在C中給出:\ XAMPP \安裝\ htdocs中\上線35 用戶名完\ register.php已經存在查詢爲空

這裏是我的代碼:

<?php 
//Checks to make sure the submit button is pressed 
if (isset($_POST['submit'])){ 
    $errors = array(); 
    $valid = true; 

    //Checks to make sure the password meets the rules of validation 
    if(isset($_POST['Password'])) { 
     if(!preg_match('/^(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/',$_POST['Password'])) { 
      $errors ['Password'] = "Your password must have the following criteria - contain at least (1) upper case letter - contain at least (1) lower case letter - contain at least (1) number or special character - contain at least (8) characters in length"; 
      echo $errors ['Password']; 
      $valid = false; 
     } 
    } 
    //Checks to make sure the email meets the rules of validation 
    if(isset($_POST['Email'])) { 
     if(!preg_match('/^([a-zA-Z0-9._-])[email protected][a-zA-Z0-9._-]+.([a-zA-Z]{2,4})$/',$_POST['Email'])) { 
      $errors['Email'] = "Must be valid email address"; 
      echo $errors['Email']; 
      $valid = false; 
     } 
    } 

if(empty($errors)) { 
     //This creates the connection to the database 
     $con = mysql_connect("localhost", "Peter", "password"); 
     if(!$con) { 
      die("Can not connect:" . mysql_error()); 
     } 
     //Selects the database I wish to add the table into 
     mysql_select_db("deepseadiving",$con); 

     //Passes the entered information into the table called user 
     $mysql=mysql_query("SELECT FROM User (Username) WHERE Username = '$_POST[Username]'"); 
     if(mysql_num_rows($mysql)>=0) 
     { 
     echo"Username already exists"; 
     } 
     else 
     { 
     $sql = "INSERT INTO User (Username,Password,FirstName,LastName,Email,Address,ContactNumber) VALUES('$_POST[Username]','$_POST[Password]','$_POST[FirstName]','$_POST[LastName]','$_POST[Email]','$_POST[Address]','$_POST[ContactNumber]')"; 
     header("location:register.php"); 
     }  
     mysql_query($mysql,$con) or die(mysql_error($con)); 

     mysql_close($con); 
    } 
} 
?> 
+0

任何想法爲什麼我得到這個錯誤? – user3346278

+0

你確定你使用正確的SELECT語法嗎?我從來沒有見過'SELECT FROM

(fields)'。 – andrewsi

+0

您的查詢失敗。您的語法在這裏不正確:「SELECT FROM User(用戶名)WHERE用戶名='$ _POST [用戶名]' –

回答

1

錯誤是有

發生什麼事,你的$ MySQL是把錯誤的查詢RO分貝所以它返回FALSE它是 沒有錯那麼的mysql_query將返回資源表...

$mysql=mysql_query("SELECT Username FROM user WHERE Username='".$_POST['Username']."'); 

,或者例如

$mysql=mysql_query("SELECT * FROM table_name WHERE Username='".$_POST['Username']."'); 

您的插入查詢也是錯誤的。

$sql = "INSERT INTO User (Username,Password,FirstName,LastName,Email,Address,ContactNumber) VALUES('".$_POST['Username']."','".$_POST['Password']."','".$_POST['FirstName']."','".$_POST['LastName']."','".$_POST['Email']."','".$_POST['Address']."','".$_POST['ContactNumber']."')"; 
相關問題