$sql="SELECT *
FROM jobs
INNER JOIN job_resp ON jobs.job_id = job_resp.job_id
WHERE jobs.job_id = $job_id";
このクエリは正しいですか?2テーブルからデータを選択
$sql="SELECT *
FROM jobs
INNER JOIN job_resp ON jobs.job_id = job_resp.job_id
WHERE jobs.job_id = $job_id";
このクエリは正しいですか?2テーブルからデータを選択
クエリの下に使用してみてください:
$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など
するmysql_query()エラー時にFALSEを返します。 チェックアウトhttp://php.net/manual/en/function.mysql-query.php
あなたのケースでは、返された結果は必ずしもエラーではないと思います。 したがって、データが表示されず、「成功」通知が表示されることもありません。
私はその原因が有効な結果ではないことに同意する傾向があります。内部結合は、結合条件に一致する行のみを返します。ちょうど基本をチェックする:あなたが渡しているjobIDが両方のテーブルで実際に参照されていることを確認してください。 – Tremmors
すべてのコードの最初には、ジョブ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>";
こんにちは、私は好奇心を持っています。 "$$ ['job_titel'];中にいる{} ??実際には –
です。最後の括弧は後で – niktrs
です。エコーを使用して問い合わせをプリントアウトできますか?あなたのクエリはフォームからidパラメータを正しく取得できますか? – niktrs