Re: [PHP] Mysql statement works in phpmyadmin but not in php page
[email protected] (Joseph Thayne)
| Newsgroups | php.general |
|---|---|
| Message-ID | <[email protected]> |
That is a good idea to use the curly braces. I consistently forget about them, and fell like an idiot every time I am reminded of them. As for the backticks, they are required because of MySQL, not because of phpMyAdmin. The issue was not that phpMyAdmin uses backticks, it is that MySQL pretty much requires them when naming a field the same as an internal function to my knowledge. If someone else knows of another way to designate to MySQL that a field named HOUR is the name of a field rather than the name of the internal function, I would love to know. James McLean wrote: > On Fri, Feb 12, 2010 at 8:27 AM, Joseph Thayne <[email protected]> wrote: > >> Actually, the syntax is just fine. I personally would prefer it the way you >> mention, but there actually is nothing wrong with the syntax. >> >> >>> The ,'$date1'"." is not correct syntax, change it to ,'".$date."' >>> > > My personal preference these days is to use Curly braces around > variables in strings such as this, I always find excessive string > concatenation such as is often used when building SQL queries hard to > read, and IIRC there was performance implications to it as well > (though I don't have access to concrete stats right now). > > In your case, the variable would be something like this: > > $query="INSERT INTO upload_history (v_id,hour,visits,date) VALUES > ({$v_id}, {$hour}, {$visits}, '{$date}')"; > > Much more readable and maintainable IMO. > > No need for the trailing semicolon in SQL that uses an API like you > are using so save another char there too. > Backticks around column names are not required and IMO again they just > make the code hard to read. Just because phpMyAdmin uses them, doesn't > mean we all need to. > > Cheers > >