2011-09-02 6 views
2

私は、ユーザ名、番号、およびキャリアをuserというテーブルに格納するデータベースを持っています。シンプルなPHP/mySQLクエリですか?

私の値がnameに等しい場合、その名前に関連付けられた番号とキャリアを取得するクエリを書く方法を知る必要があります。私はPHPでこれを書いており、必要に応じてJavaScriptを使用します。

+3

ようこそ。試した質問を投稿してください。なぜなら、あなたが聞いたことは率直に言えば、WHERE句を含むきわめて基本的なSQLクエリです。 –

+0

テーブルの構造は何ですか?今まで何を試してみましたか? – DhruvPathak

答えて

1

私はあなたが使用することを好むべきだ「ユーザーSELECT * FROM WHERE名LIKE 『{$値}』」 例えば、正確な値 を検索します=を使用した理由は次のとおりです。データベースに値がジョンで、uは検索した場合あなただけの1を置くことができるメガ

0

あなたのSQLクエリは次のようになります。

"SELECT * FROM user WHERE name = '{$value}'" 

これは、テーブル内のすべての列を選択name列はPHP変数の値を持つuser$value

あなたは使用して、このクエリPHPのを実行することができますMySQL関数:http://php.net/manual/en/book.mysql.php

$value = "John"; 
$result = mysql_query("SELECT * FROM user WHERE name = '{$value}'"); 

while($row = mysql_fetch_array($result)) 
    print("Column with name columnName has a value of " . $row['columnName']); 
+1

-1あなたが記述したようなSQL文字列を構築するときに、少なくともSQLインジェクションの危険性について言及していないからです。また、間違ったリンクを投稿したと思います。 –

+1

リンクを修正しました。データベースアプリケーション開発者がセキュリティ(SQLインジェクション、ディレクトリトラバーサル、HTMLインジェクション、XSSなど)を知る必要があるすべてのチュートリアルを投稿した場合、それぞれの回答は非常に複雑になり、それを理解しないだろう。 – ShaneC

+1

エスケープすると言っても、あなたの答えはあまり複雑になりません。 –

1

はジョンのために、それは結果を表示しませんが、あなたはあなたに感謝、それはJOHN、ジョン、ジョン、ジョンなどのような、関連するすべての結果が表示されます

LIKEを使用する場合、 以下:

1)

$value = "John"; 
$result = mysql_query("SELECT * FROM user WHERE name LIKE '$value'"); 

上記のクエリは、Meghaが提案したJOHN、john、Johnなどの名前に一致する行を返します。クエリ上記

2)

$value = "John"; 
$result = mysql_query("SELECT * FROM user WHERE name='$value'"); 

値 'ジョン' と名前を一致する行を返します。

関連する問題