Postgres'where'查询不适用于PHP

I'm running some PHP code where I am trying to find rows with a specified parameter. I have successfully connected with the database, however I'm running into one problem.

When I run this code:

    $SQL = "SELECT * FROM schema.table";
    $result = pg_exec($dbconn, $SQL);
    while ($row = pg_fetch_array($result) {
          echo "data: " .$row . "<br/>
";

I get a printed list of arrays showing that I was successful in taking this data from the database and being able to print it out into the website page.

However, I need to filter the data where I only want the rows with a specific ID. When I try this query:

    $SQL = "SELECT * FROM schema.table WHERE 'ID' = '123'";

pg_numrows($result) is 0 when there are four rows with ID of 123 and there is nothing to show and no array and I have no idea why adding the 'where' statement changes anything. What happened to the data, why does filtering it cause it to no longer work?


SOLVED: Figured out the answer for anyone running into the same problem.

    $SQL = "SELECT * FROM schema.table WHERE \"ID\" = '123'";

This is the syntax that must be used for character varying columns. Thanks for everyone making me realize I was running a funny code with wrong quotation marks.

use like this..

$SQL = "SELECT * FROM schema.table WHERE ID = 123";

Never use single quotes for column names and never use single quotes for int type..