準備されたステートメントの方がはるかに安全であり、クエリが壊れることを知るまでは、正常に機能する自然な結合クエリがあります。私はいくつかの調査を行い、準備されたステートメントと自然な結合がうまく機能しないことを読みました。ここに私の元のクエリがあります:
$query = "select * from table1 natural join table2 where table1.id='$id' ";
クエリで結合を行う必要がありますが、州と都市の両方のテーブルで一致させるには 2 つの列が必要です。これを達成し、両方のテーブルからすべての列を選択するにはどうすればよいですか? これは私がこれまでに持っているものですが、機能していません:
$query = "select * from table1 join table2 on table1.state = table2.state and table1.city = table2.city where table1.id='$id'";
現在、JOIN ON を使用してクエリを機能させようとしているだけで、table1.id='$id' を table.id=? に置き換えたいと考えています。