2017-05-28 11 views
-1

DB接続が正常に確立され、Webサイトの他のすべてのページで、異なるアイテムの数と説明がテーブルから正常にクエリされ、表示されます。DB接続が成功し、クエリが正しくても、mysqlクエリは実行されません

しかし、どういうわけか、以下のログイン

ながら働いていない同様のsqlqueryのは私のコードです:

<?php 
include('connection.php'); // Connection is successful 
session_start(); 
if($_POST) 
{ 
    $email_id = $_POST['email_id']; // i can echo "$email_id" in console 

    $password = $_POST['password']; // i can echo "$password" in console 

    $sql1 = "select * from user where user_email='$email_id' and user_password='$password' "; 
    $strSQL_Result = mysqli_query($con, $sql1); 

    $count = mysqli_num_rows($strSQL_Result); 

    if($count==1){ 
...//do some stuff 

$カウント値が0または1のいずれかであることを期待、しかし何もありませんクエリ自体が通過していないため返されます。

データベース内で直接実行された場合と同じクエリで結果が生成されるため、属性はすべて正しくなります。

コンソールでは、ログインフォームに入力された電子メールIDとパスワードを使用してXHR POSTが正常に実行されたことがわかります。 その後、

+0

エラーの報告を有効にして、エラーを確認してください。 – Epodax

+2

あなたのコードはSQLインジェクションに対して脆弱です。 [prepared statements](https://www.youtube.com/watch?v=nLinqtCfhKY)を使用する方法を学んでください。 –

+0

@Epodaxエラー報告を正確に行う場所はコンソールか..具体的にお聞かせください – team

答えて

0

[OK]を行うことができないDBからユーザーを認証するために呼び出され、このlogin.phpファイルには、これは些細なことができますが、ファイルconnection.php

を考え出すの時間の後に、それ最終的に得られる結果は同じです私のウェブサイトのルートフォルダとして使用していたフォルダinclude('connection.php');

しかし、私がinclude('../connection.php');を使用したとき、それは働いた。

これは、質問に表示されるlogin.phpというファイルと、$conという変数を持つファイルが同じディレクトリに存在しないためです。そのため、パスに../を使用する必要があります。

関連する問題