Thread: Trouble with SQL statement using variable
I'm having trouble getting an SQL statement to use a variable. Here's the statement: $sql = "SELECT emp_fname FROM employee WHERE username = '$username'"; $result = pg_exec($conn,$sql); if (!$result) { exit; } I get the following warning from this: Warning: Supplied argument is not a valid PostgreSQL link resource in /var/www/personnel/include/functions.inc on line 25 Is there another way to use a variable in an SQL statement. This format works with MySQL. -- Jeff Self Information Technology Analyst Department of Personnel City of Newport News 2400 Washington Ave. Newport News, VA 23607 757-926-6930
I believe this is a problem with $conn, not your sql syntax. How is $conn defined? Is it passed as an argument to the function containing this code, or defined as a global? Are you using pg_pconnect or pg_connect()? At 01:34 PM 1/29/02 -0500, Jeff Self wrote: >I'm having trouble getting an SQL statement to use a variable. Here's >the statement: > > $sql = "SELECT emp_fname FROM employee WHERE username = '$username'"; > $result = pg_exec($conn,$sql); > if (!$result) { > exit; > } >I get the following warning from this: > >Warning: Supplied argument is not a valid PostgreSQL link resource in >/var/www/personnel/include/functions.inc on line 25 > >Is there another way to use a variable in an SQL statement. This format >works with MySQL. > >-- >Jeff Self >Information Technology Analyst >Department of Personnel >City of Newport News >2400 Washington Ave. >Newport News, VA 23607 >757-926-6930 > > >---------------------------(end of broadcast)--------------------------- >TIP 5: Have you checked our extensive FAQ? > >http://www.postgresql.org/users-lounge/docs/faq.html >
On Tue, 2002-01-29 at 14:09, Frank Bax wrote: > I believe this is a problem with $conn, not your sql syntax. How is $conn > defined? Is it passed as an argument to the function containing this code, > or defined as a global? Are you using pg_pconnect or pg_connect()? $conn is defined as a global in a file called database.inc which is here: <?php // // database.inc // // Database Information $dbname = "personnel"; $dbuser = "webuser"; $conn = pg_pconnect("dbname=$dbname user=$dbuser"); if (!$conn) { echo "Could not connect to database."; exit; } ?> As you can see, I'm using pg_pconnect. > > At 01:34 PM 1/29/02 -0500, Jeff Self wrote: > >I'm having trouble getting an SQL statement to use a variable. Here's > >the statement: > > > > $sql = "SELECT emp_fname FROM employee WHERE username = '$username'"; > > $result = pg_exec($conn,$sql); > > if (!$result) { > > exit; > > } > >I get the following warning from this: > > > >Warning: Supplied argument is not a valid PostgreSQL link resource in > >/var/www/personnel/include/functions.inc on line 25 > > > >Is there another way to use a variable in an SQL statement. This format > >works with MySQL. > > > >-- > >Jeff Self > >Information Technology Analyst > >Department of Personnel > >City of Newport News > >2400 Washington Ave. > >Newport News, VA 23607 > >757-926-6930 > > > > > >---------------------------(end of broadcast)--------------------------- > >TIP 5: Have you checked our extensive FAQ? > > > >http://www.postgresql.org/users-lounge/docs/faq.html > > -- Jeff Self Information Technology Analyst Department of Personnel City of Newport News 2400 Washington Ave. Newport News, VA 23607 757-926-6930
I solved it. I had to pass the $conn when calling the function. On Tue, 2002-01-29 at 14:09, Frank Bax wrote: > I believe this is a problem with $conn, not your sql syntax. How is $conn > defined? Is it passed as an argument to the function containing this code, > or defined as a global? Are you using pg_pconnect or pg_connect()? > > At 01:34 PM 1/29/02 -0500, Jeff Self wrote: > >I'm having trouble getting an SQL statement to use a variable. Here's > >the statement: > > > > $sql = "SELECT emp_fname FROM employee WHERE username = '$username'"; > > $result = pg_exec($conn,$sql); > > if (!$result) { > > exit; > > } > >I get the following warning from this: > > > >Warning: Supplied argument is not a valid PostgreSQL link resource in > >/var/www/personnel/include/functions.inc on line 25 > > > >Is there another way to use a variable in an SQL statement. This format > >works with MySQL. > > > >-- > >Jeff Self > >Information Technology Analyst > >Department of Personnel > >City of Newport News > >2400 Washington Ave. > >Newport News, VA 23607 > >757-926-6930 > > > > > >---------------------------(end of broadcast)--------------------------- > >TIP 5: Have you checked our extensive FAQ? > > > >http://www.postgresql.org/users-lounge/docs/faq.html > > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster -- Jeff Self Information Technology Analyst Department of Personnel City of Newport News 2400 Washington Ave. Newport News, VA 23607 757-926-6930
Have you tried: echo "CONN: $conn<br>"; echo "SQL: $sql<br>"; to see what is being passed to postgres? Jeff On Tuesday, January 29, 2002, at 10:34 AM, Jeff Self wrote: > I'm having trouble getting an SQL statement to use a variable. Here's > the statement: > > $sql = "SELECT emp_fname FROM employee WHERE username = '$username'"; > $result = pg_exec($conn,$sql); > if (!$result) { > exit; > } > I get the following warning from this: > > Warning: Supplied argument is not a valid PostgreSQL link resource in > /var/www/personnel/include/functions.inc on line 25 > > Is there another way to use a variable in an SQL statement. This format > works with MySQL. > > -- > Jeff Self > Information Technology Analyst > Department of Personnel > City of Newport News > 2400 Washington Ave. > Newport News, VA 23607 > 757-926-6930 > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html >