2017-09-11 8 views
0

おはよう!自分のコードをデータベースlocalhost/phpmyadminに接続しようとしています。PHPをMYSQLに接続する際のエラー

register.phpファイルで:

<?php 
    session_start(); 
    require_once('dbconfig/config.php'); 
    //phpinfo(); 
?> 

config.phpのデータベース名が

<!DOCTYPE html> 
<html> 
<head> 
<title>Registration Page</title> 
<link rel="stylesheet" href="css/style.css"> 
</head> 
<body style="background-color:#bdc3c7"> 
    <div id="main-wrapper"> 
    <center><h2>Registration Form</h2></center> 
     <form action="register.php" method="post"> 
      <div class="imgcontainer"> 
       <img src="imgs/avatar.png" alt="Avatar" class="avatar"> 
      </div> 
      <div class="inner_container"> 
       <label><b>Username</b></label> 
       <input type="text" placeholder="Enter Username" name="username" required> 
       <label><b>Password</b></label> 
       <input type="password" placeholder="Enter Password" name="password" required> 
       <label><b>Confirm Password</b></label> 
       <input type="password" placeholder="Enter Password" name="cpassword" required> 
       <button name="register" class="sign_up_btn" type="submit">Sign Up</button> 

       <a href="index.php"><button type="button" class="back_btn"><< Back to Login</button></a> 
      </div> 
     </form> 

     <?php 
      if(isset($_POST['register'])) 
      { 
       @$username=$_POST['username']; 
       @$password=$_POST['password']; 
       @$cpassword=$_POST['cpassword']; 

       if($password==$cpassword) 
       { 
        $query = "select * from userinfotbl where username='$username'"; 
        //echo $query; 
       $query_run = mysqli_query($con,$query); 
       //echo mysql_num_rows($query_run); 
       if($query_run) 
        { 
         if(mysqli_num_rows($query_run)>0) 
         { 
          echo '<script type="text/javascript">alert("This Username Already exists.. Please try another username!")</script>'; 
         } 
         else 
         { 
          $query = "insert into userinfotbl values('$username','$password')"; 
          $query_run = mysqli_query($con,$query); 
          if($query_run) 
          { 
           echo '<script type="text/javascript">alert("User Registered.. Welcome")</script>'; 
           $_SESSION['username'] = $username; 
           $_SESSION['password'] = $password; 
           header("Location: homepage.php"); 
          } 
          else 
          { 
           echo '<p class="bg-danger msg-block">Registration Unsuccessful due to server error. Please try later</p>'; 
          } 
         } 
        } 
        else 
        { 
         echo '<script type="text/javascript">alert("DB error")</script>'; 
        } 
       } 

エラーが発生し、このラインに位置していたファイルである

は、これは私のコードです。しかし、私は何が起こったのか正確には分かりません。 私はそれでwronだか分からない:

   else 
       { 
        echo '<script type="text/javascript">alert("Password and Confirm Password do not match")</script>'; 
       } 

      } 
      else 
      { 
      } 
     ?> 
    </div> 
</body> 
</html> 

しかしlocalhostのページに、私は「DBエラーがローカルホストは述べています」というエラーを得ました。

+0

@Rolly – Pritamkumar

+0

'エコー「<スクリプトタイプ= ';'これはアラートボックスを表示する方法ではありません –

+0

ローカルホストはDBエラーまたはそれ以外の何かを表示しますか?あなたの設定ファイルも表示してください。また、コードに2つの大きな間違いがあります。つまり、MySQLを使用しないでください。代わりにMySQLiを使用します。 2番目に、ポスト変数を直接SQLインジェクションにつながるクエリに渡しています。 –

答えて

0

つまり、"select * from userinfotbl where username='$username'"クエリで条件に一致するかエラーが発生したエンティティが見つかりませんでした。

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

http://php.net/manual/en/mysqli.query.php

使用mysqli_errorあなたが得たもの、エラーを確認します。

例:

if($password==$cpassword) 
{ 
    $query = "select * from userinfotbl where username='$username'"; 
    //echo $query; 
    $query_run = mysqli_query($con,$query); 
    //echo mysql_num_rows($query_run); 
    if(!empty($query_run)) { 
     ... 
    } elseif ($query_run === false) 
     echo mysqli_error($con); 
    else 
     echo '<script type="text/javascript">alert("DB error")</script>'; 
} 
+0

私はコード上で実行しようとしています。 構文解析エラー:構文エラー、C:\ xampp \ htdocs \ SampleLoginPage \ register.phpの47行目に予期しない 'echo'(T_ECHO)があります。47行目を見つけようとしましたが、 echo mysqli_error($ con); " – Rolly

+0

私のコードが添付されているファイル。私のコードで何が間違っているのか理解してください。私を助けてください。ありがとう! https://drive.google.com/file/d/0Bypc2WaMNu76Yi1KU0IwN0FPYmM/view?usp=drive_web – Rolly

0

あなたは、接続またはクエリエラーにエラーがあるかどうかを確認するためにmysqli_errorを使用する必要があります

あなたは `$のcon`変数をintiate