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.