Re: Select Where using character varying ??

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



ben wilko wrote:
Hi Guys
I am printing names into a combo box and posting the variable. I try and use the name ($Sem) in an SQL statement; WHERE name = $Sem; but I get an error which is displayed near the end of this message. Are we able compare php string to postgresql character varying?? not sure how else to do the selection $conn = pg_Connect("host=localhost dbname=#### user=#### password=####");
   if (!$conn) {echo "An database connection error occurred.\n"; exit;}
// e.g. $Sem = "seminar one"; $Sem = $_POST['Seminars']; $Sem_No = pg_Exec($conn,"SELECT seminar_id FROM seminar WHERE name = $Sem"); if (!$SemNo) {echo "A query error occurred in retreiving the selected seminar's ID <br>"; /*exit;*/}
$Sem_No = pg_Result($Sem_No, 0);
// Error Message *Warning*: pg_exec() [function.pg-exec <http://www.citanalyst.com/jet/form/function.pg-exec>]: Query failed: ERROR: syntax error at or near "one" at character 54 in */home/bdwilko/public_html/jet/form/insertP.php* on line *56*
A query error occurred in retreiving the selected seminar's ID

Make sure that you're quoting the value you want to compare. At a quick glance, this where the error is:

$Sem_No = pg_Exec($conn,"SELECT seminar_id FROM seminar WHERE name = $Sem");

should be:

$Sem_No = pg_Exec($conn,"SELECT seminar_id FROM seminar WHERE name = '$Sem'");

To be more accurate, you should probabley do:

$Sem = pg_escape ( $Sem );
$Sem_No = pg_Exec($conn,"SELECT seminar_id FROM seminar WHERE name = '$Sem'");

Charley


[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux