2012-01-07 11 views
-5

におけるPHPのデータを使用して、私は、例えばPHPは、MySQL

からのデータを使用して、データベース内のデータを検索します。

$nameをselect文で使用することはできますか?

+5

ほとんどありません分析問題の説明。 –

+0

私はPHPがMySQLとどのように機能するのか理解できていないことを知っています。http://www.tizag.com/mysqlTutorial/mysqlquery.phpや他のページを調べて、クエリ、挿入、ソート、設定方法の簡単な内訳を調べてくださいアップMySQLデータベース。 –

+1

$ nameをフォームに入力するか、何を持っているかによって$ nameを指定できる場合は、クエリーに$ nameを直接挿入するとデータベースがSQLインジェクション攻撃を開始することに注意してください。このようなパラメータを使用してクエリを構築する必要があります。http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php –

答えて

2
  • $nameの定義の後にセミコロンを忘れました(解析エラーを表示するためにエラー報告をオンにします)。
  • SQLクエリ内で名前を区切りませんでした。
  • echo $result何も役に立ちません。
  • ピアレビュー済みのPHPブックを読む時間!
0

結果を取得するには、mysql_fetch_row()またはmysql_fetch_assoc()メソッドを呼び出す必要があります。

$name = "Jack"; 
$result = mysql_query("SELECT Username 
       FROM Users 
       WHERE Username = '$name'", $con); 
if($result) 
{ 
    $row=mysql_fetch_assoc($result); 
    if($row) 
    { 
    } 
} 
0

おそらく意図したとおりではありません。結果セットからデータを読み取るには、提供された関数mysql_result()を使用する必要があります。 からの例では、より密接に見て:

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
if (!mysql_select_db('database_name')) { 
    die('Could not select database: ' . mysql_error()); 
} 
$result = mysql_query('SELECT name FROM work.employee'); 
if (!$result) { 
    die('Could not query:' . mysql_error()); 
} 
echo mysql_result($result, 2); // outputs third employee's name 

mysql_close($link); 

mysql_fetch_row()mysql_fetch_array()を参照してください。

1

ユーザー名はVARCHAR /文字列であるので、あなたは、ニーズに合わせて検索しているユーザー名の値は引用符で囲む:

$result = mysql_query("SELECT Username 
       FROM Users 
       WHERE Username = '$name'", $con); 

他の人があなたのコード

0

あなたの主な問題で他のエラーを指摘していますあなたは$resultを返していますか?これはMySQLの結果であり、データではありません。あなたはこのやるべき

くださいread this

$sql = "Select * from `table`"; 

// If you will have many results 
if ($result = mysql_query($sql)) { 
    while ($record = mysql_fetch_array($result)) { 
    // Do stuff for each record 
    } 
    } 

// If you will have ONE result 
if ($result = mysql_query($sql)) { 
    if ($record = mysql_fetch_array($result)) { 
    // Do stuff for this record 
    } 
    } 

を今まで聞いた、ちょうどまっすぐ問合せに$名前をダンプするために非常に悪い習慣ですSQL injection

それを行うための適切な方法は、(すなわち、それは、フォームの入力からである)あなたは$名の値が分からない場合は特に、次のとおりです。「動かない」

$sql = "SELECT Username 
     FROM Users 
     WHERE Username = '".mysql_real_escape_string($name)."'";