-1

フィールドを連続して選択するのに苦労しています。おそらく、誰かが適切なドキュメントを読むために正しい方向に私を向けることができます。私はこれにかなり慣れていません。

ユーザー名がryanjayに設定された行があるusersというテーブルがあります。この行からパスワードを選択しようとしています。

これは私が今持っているもので、エラーが発生しています:

「フィールド リスト」の不明な列「パスワード」

これが私のコードです

$loggin_user = $_COOKIE['username'];

$query = "SELECT password FROM users WHERE username = $loggin_user";
$result = mysql_query($query) or die($query."<br/><br/>".mysql_error());
$password = mysql_result($result, 0);
echo $password;

この質問のために、パスワードは 'password' です。$password をエコーすると、'password' が表示されます。しかし、何もありません。

データベースとすべてに書き込むことができます。接続用のデータベース情報を含む db.php も含めています。

どんな助けでも素晴らしいでしょう。

4

3 に答える 3

4

try

$loggin_user = mysql_real_escape_string($_COOKIE['username']);
$query = "SELECT `password` FROM `users` WHERE `username` = '$loggin_user'";
$result = mysql_query($query) or die($query."<br/><br/>".mysql_error());
$password = mysql_result($result, 0);
echo $password;
于 2013-03-29T23:25:30.943 に答える
1

It is telling you that there is no column called "password" in the table users.

于 2013-03-29T23:25:42.993 に答える
0

文字列列には単一引用符 ' が必要です。それ以外の場合、SQL はテーブル名だと考えます。これを試して:

$query = "SELECT `password` FROM `users` WHERE `username` = '".$loggin_user."' ";

SQL インジェクションを防ぐために変数をエスケープすることを忘れないでください。また、予約名の問題を回避するために、MySQL でテーブル/列名にバックティックを使用する方がきれいです。

于 2013-03-29T23:26:23.850 に答える