2016-10-04 7 views
0

私は非常にPHPに新しいです、私はログインシステムを作成しようとしています。ここに私のコードですはSQLデータベースの結果を得ることができません

<?php 

    $con=mysqli_connect("XXXXXXX","XXXXXXXX","XXXXXXXXX","XXXXXXXXXX"); 

    if (!$con) 
     { 
     echo "failed to connect"; 
     } 

    $username = $_POST['username']; 
    $password = $_POST['password']; 

    $sql = "SELECT userID FROM users WHERE username = $username and password =   $password;"; 

    if (!$sql) { 
     echo 'query invalid'.mysql_error(); 
     } 

    $result = mysql_query($sql); 

    echo "$result"; 

    $row = mysqli_fetch_array($sql, MYSQLI_ASSOC); 

    $active = $row['active']; 

    $count = mysqli_num_rows($result); 

    mysql_close($con); 

?> 

私は接続に問題はないと確信しています。しかし、私の結果は表示されず、エラーメッセージも表示されません。以前は、結果が戻った場合、さらなるアクションを実行するIF文がありました。私は何が起こっているのか把握しようとしているので、私はその部分を削除しました。誰か助けてください。多くのおかげで

+1

_here is my code_ - コードはありません! – Jeff

+1

彼はスタックオーバーフローについても新しいです。私はそれを編集しました。 – Phiter

+0

ああ、ここです!あなたはユーザー名とパスワードを忘れてしまった! – Jeff

答えて

1

あなたは、変数の周りの単一引用符が欠落している、ともあなたは動作しませんmysqliのと混合してMySQLを、使用しています。

$sql = "SELECT userID FROM users WHERE username = '$username' and password = '$password';"; 
$result = mysqli_query($con, $sql); 

$row = mysqli_fetch_assoc($sql); // same as fetch_array with MYSQLI_ASSOC 

$active = $row['active']; 

$count = mysqli_num_rows($result); 

あなたは最後にmysql_closeを必要としませんが、あなたはそれを使用したい場合は、それがmysqli_close($con); が、これは安全ではありません覚えておいてくださいます。

は、ユーザーの入力をフィルタリングするために、この機能を使用します。

$username = mysqli_real_escape_string($con, $_POST['username']); 
$password = mysqli_real_escape_string($con, $_POST['password']); 

Read thisコードがセキュリティ基準を次のことを確認します。

+0

感謝が、それはまだ動作しません... –

+0

うん、私はちょうどあなたがmysqliのでMySQLを混合している気づいた、私は私の答えを更新します。 – Phiter

+0

はい、後でそれについて心配します。しかし、私のコードで他に何か問題があるのでしょうか?その機能は動作しません。どちらも、それは私がすべての私の「mysqlの」と「mysqliの」変更されている今 –

0

私はこれをお勧めします。

+1

これはなんですか?なぜこれをお勧めしますか? – chris85

+0

開始前にコードを構造化する必要があります –

+1

答えは何ですか? '_sql()'とは何ですか? – chris85

関連する問題