かなり大きな問題に気づきました。2 つのテーブルを結合すると、両方に ID という列があるため、後で PHP の等式で間違ったテーブル ID が使用されます。
簡単な解決策は列名を変更することですが、すべてのテーブルで name と呼ばれる列やそれらの多くで title と呼ばれる列を含め、データベース全体に他の標準もあります。
これを回避する方法はありますか、またはデータベース全体の名前を変更して、重複する列がないようにする必要があります。
参照用コード
$criteria = "SELECT *
  FROM voting_intention,electors
  WHERE  voting_intention.elector = electors.ID
  AND electors.postal_vote = 1
  AND voting_intention.date = (select MAX(date)
    from voting_intention vote2      
    where voting_intention.elector = vote2.elector)
  AND electors.telephone > 0"
function get_elector_phone($criteria){
    $the_elector = mysql_query("SELECT * $criteria"); while($row = mysql_fetch_array($the_elector)) {
    return $row['ID']; }