Jump to content

Using a PHP variable in an MySQL query


nickholt1972

Recommended Posts

I've posted this in the MySQL forum, but it could be in either and this one has more traffic.

I want to select items from my database where the id for the record is equal to the PHP variable being passed from the previous page. In theory the code should look something like...

[b]$productdetails = @mysql_query('SELECT * FROM stocks WHERE id = $_SESSION['cart'][$i]');[/b]

But I don't seem to be able to use a variable in a query.

Does anyone know of an alternative method for getting round this problem?

Thanks,

Nick
Link to comment
https://forums.phpfreaks.com/topic/23301-using-a-php-variable-in-an-mysql-query/
Share on other sites

That's great, thanks. only problem is, I can't surround the variable with single quotes because i've got singles at the start and end of the SELECT statement. I can't change those to doubles or use doubles to surround the variable because i get error messages. And i can't escape them either.

I appreciate your help.
Try this:

[code=php:0]'SELECT * FROM stocks WHERE id = '.$_SESSION['cart'][$i].' '[/code]

or
[code=php:0]'SELECT * FROM stocks WHERE id = "'.$_SESSION['cart'][$i].'" '[/code]


Edit: For the record, I'm quite sure that to use a variable directly in a query without concating, you would have to declare it like so: [code=php:0]$var = $_SESSION['cart'][$i];[/code] and then use the variable in double quotes: [code=php:0]'SELECT * FROM stocks WHERE id = "$var" '[/code]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.