Re: formulate nested select
| From: | Chris | Date: | Tue, 31 Mar 2009 21:41:03 +0000 |
| Subject: | Re: formulate nested select | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-290904@lists.php.net to get a copy of this message | ||
PJ wrote:
Ian wrote:You have to quote strings in sql, only numbers (and booleans) don't have quotes. ie $sql = ".. where left(a.last_name, 1) = '" . mysql_real_escape_string($Auth) . "'"; single quotes around the value and it's properly escaped. -- Postgresql & php tutorials http://www.designmagick.com/On 31 Mar 2009 at 9:08, PJ wrote:Hmmm.... That was it. I'm not clear on this... what was MySQL getting? if not a string... sorry for my ignorance...I must be doing something wrong. Can't figure it out even though I've been searching the manuals & tutorials, it still does not work. Here is the exact code that I have tried; the first version is commented out and obviously does not work either (the spelling, the table names and column names are correct): $books = array(); /*$SQL = "SELECT * FROM book bHi, I think this should be '$Auth' as MySQL will be expecting a string.JOIN book_author c ON b.id = c.bookID JOIN author a ON a.id = c.authID WHERE LEFT(a.last_name,1) = $Auth ORDER BY $sort $dir LIMIT $offset, $records_per_page"; */$SQL = "SELECT * FROM book bINNER JOIN book_author c ON b.id = c.bookID WHERE c.authID = (SELECT id FROM author a WHERE LEFT(a.last_name, 1) = $Auth )