0

データベース内の一致する郵便番号を持つ Web サイトの別のユーザーにローカルなユーザーを表示する方法を見つけようとしています。

したがって、たとえば、ユーザー 'a' の郵便番号が でm3 4jj、ユーザー 'b' の郵便番号が であるm3 4aj場合、mysql クエリは、たとえば、一致して始まるものを表示m3 4します。私はphpとmysqlに本当に慣れていないので、正しい方向に向かっているかどうかわかりません。

これまでのところ、私はこれを持っています:

function get_local_users() {
  global $connection;
  $query = "SELECT *
            From ptb_stats, ptb_users
            WHERE ptb_stats.user_id=ptb_users.id
            AND ptb_stats.user_postcode='m3'";
  $local_set = mysql_query($query, $connection);
  confirm_query($local_set);
  return $local_set;
}

しかし今、ログインしたユーザー/ "._SESSION ['user_id']。郵便番号が一致するか、またはm4一致する郵便番号を持つ他のユーザーが表示されます。m5m6

私はこれを試しました:

function get_local_users() {
  global $connection;
  $query = "SELECT *
            From ptb_stats, ptb_users
            WHERE ptb_stats.user_id=ptb_users.id
            AND ptb_stats.user_postcode=".$_SESSION['user_postcode']."
  $local_set = mysql_query($query, $connection);
  confirm_query($local_set);
  return $local_set;
}

しかし、それはこのエラーを引き起こしています:

Database query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4

郵便番号を保存したデータベースの私の列は、user_postcode理論的にはこれでうまくいくと思っていたでしょう。そうでない理由はありますか?

4

1 に答える 1

0

一重引用符を次のように戻します...

$query = "SELECT *
        From ptb_stats, ptb_users
        WHERE ptb_stats.user_id=ptb_users.id
        AND ptb_stats.user_postcode='".$_SESSION['user_postcode']."'";
于 2013-03-11T01:31:15.030 に答える