2011-06-25 44 views
-2
$sql="SELECT * 
      FROM jobs 
     INNER JOIN job_resp ON jobs.job_id = job_resp.job_id 
      WHERE jobs.job_id = $job_id"; 

このクエリは正しいですか?2テーブルからデータを選択

+0

こんにちは、私は好奇心を持っています。 "$$ ['job_titel'];中にいる{} ??実際には –

+0

です。最後の括弧は後で – niktrs

+0

です。エコーを使用して問い合わせをプリントアウトできますか?あなたのクエリはフォームからidパラメータを正しく取得できますか? – niktrs

答えて

0

クエリの下に使用してみてください:

$sql="SELECT j.*, jr.* 
      FROM jobs as j 
     INNER JOIN job_resp as jr ON j.job_id = jr.job_id 
      WHERE j.job_id ='".$job_id."'"; 

しかし、あなたは*避ける必要があり、j.idとしてフィールド名を使用しようと、j.job_titelなど

0

するmysql_query()エラー時にFALSEを返します。 チェックアウトhttp://php.net/manual/en/function.mysql-query.php

あなたのケースでは、返された結果は必ずしもエラーではないと思います。 したがって、データが表示されず、「成功」通知が表示されることもありません。

+0

私はその原因が有効な結果ではないことに同意する傾向があります。内部結合は、結合条件に一致する行のみを返します。ちょうど基本をチェックする:あなたが渡しているjobIDが両方のテーブルで実際に参照されていることを確認してください。 – Tremmors

0

すべてのコードの最初には、ジョブIDのデータ型に応じて

$job_id=$_GET['job_id']; 

// should be 
$job_id=(int)$_GET['job_id']; 
// or 
$job_id=mysql_real_escape_string($_GET['job_id']); 

SQLインジェクションに対して脆弱です。

また、宣言する前に行をエコーし​​ているため、動作しません。 whileループ内にあるように思えます。

<?php 

echo "<ul>"; 
while($rows=mysql_fetch_array($result)) 
{ 
    echo "<li>".$rows['job_res']."</li>"; 
} 
echo "</ul>"; 
関連する問題