2

よろしく、

私はPHPが初めてです。これは、ログイン ページ用に作成した小さなログイン スクリプトです。データベースからユーザー名とパスワードをチェックします。

 <?php

$con = mysqli_connect("localhost","root","saw","gehriroute");

if(mysqli_connect_errno())
{
    echo "could not connect to the database";
    exit;
}
else
{
    echo "database runing <br>";
}

$uname = trim($_POST['uname']);
$password = trim($_POST['password']);

echo "username and password are $uname and $password <br>";

$query =  "select count(*) from login where username = '".$uname."' and password = '".$password."' ";



$result = mysqli_query($query,$con);

if(!$result)
{
    echo "query failed";
}



$row = mysqli_fetch_row($result);
$count = $row[0];

if($count > 0 )
{
    echo "yes your are logged in";
}
else
{
    echo "wrong username or password";
}

?>

データベースへの接続に問題はありませんが、応答もしていません。スクリプトが mysql_error() 関数を渡さないに違いありません。関数を使用してデバッグしようとしましたmysql_error()が、何も返されませんでした。エラーをデバッグして修正するために使用できる他のものは何ですか?

出力:

database runing
username and password are ateev and saw
query failed
4

6 に答える 6

1

このコードを試してみましょう。それは今動作します。

<?php

$con = mysqli_connect("localhost","root","saw","gehriroute");

if(mysqli_connect_errno())
{
    echo "could not connect to the database";
    exit;
}
else
{
    echo "database runing <br>";
}


$uname = trim($_POST['uname']);
$password = trim($_POST['password']);

echo "username and password are $uname and $password <br>";

$query =  "select count(*) from login where username = '".$uname."' and password = '".$password."' ";

$result = mysqli_query($con,$query);   // Connection link should first

//echo "Error: ".mysqli_info();

$count = mysqli_num_rows($result);    // Get Count row like this..

if($count > 0 )
{
    echo "yes your are logged in";
}
else
{
    echo "wrong username or password";
}

?>
于 2013-04-06T09:32:41.450 に答える
1

最初に、コマンド ラインまたはワークベンチを介して最初に SQL を実行してみませんか?

これにより、クエリが有効であり、期待どおりの結果が得られていることを確認できます。

編集

また、mysqli_queryのマニュアル ページを読むと、

$result = mysqli_query($query,$con);

は正しくありません。

$result = mysqli_query($con, $query);
于 2013-04-06T09:18:30.723 に答える
1

これを試すことができます:

if (!mysqli_query($link, $query)) { //if the query fails find the error
    echo mysqli_error($link);
}
于 2013-04-06T09:19:03.053 に答える
0

$クエリをエコーし​​ます。出口

Query をコピーして Your Query Executer に実行します。

もしあれば、SQLエラーが発生します

それ以外の場合、クエリは正常に実行されます。

于 2013-04-06T09:19:58.323 に答える
0

クエリの後に追加してみてください。これにより、クエリが正常に実行されたか、エラーが返されたかがチェック/判断されます

$result = mysqli_query($query,$con);

if(!$result){
  // means your query failed
  // error checking...
   printf("Error: %s\n", mysqli_error($con));
}
else {
   echo 'query executed.';
}
于 2013-04-06T09:14:45.217 に答える
0

ほとんどの場合、php スクリプトが呼び出されていません。.php ファイルを just に設定して、出力されるecho 'x';かどうかを確認してください。xそうでない場合は、間違ったスクリプトを呼び出しており、正しいファイル名を指定する必要があります (例: myScript.php )。

あなたがやろうとしていることの実例をここに示しますSELECT Code, Name FROM Country ORDER BY Nameクエリに置き換えるだけです。

幸せなコーディング:)

于 2013-04-06T09:16:33.887 に答える