TalkPHP

TalkPHP (http://www.talkphp.com/forums.php)
-   Absolute Beginners (http://www.talkphp.com/absolute-beginners/)
-   -   query question (http://www.talkphp.com/absolute-beginners/2673-query-question.html)

Evulness 04-21-2008 04:35 PM

query question
 
If sending a query. do you NEED quotes or back ticks? ' or ` ?

aka...
Code:

$query = "
        CREATE TABLE IF NOT EXISTS 'users' (
        'id' INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
        'username' VARCHAR( 255 ) NOT NULL ,
        'password' VARCHAR( 255 ) NOT NULL ,
        'email' TEXT NOT NULL ,
        'ip' VARCHAR( 16 ) NOT NULL ,
        'banned' VARCHAR( 5 ) NOT NULL DEFAULT 'n',
        'level' INT( 1 ) NOT NULL DEFAULT '1'
        );
        ";

mysql_query($query);

I'm trying to use this query via an install script. so that when i'm done on my test server, i can just upload everything, run my install script, and when its installed, delete the installer, so nothing can be changed that way....

my test server is a windows box at home, running WAMP
BUT, i ran into issues with backticks on the linux server i was going to demo my cms on... the admin told me i would need quotes, not back ticks...
he also said that windows treats backticks as quotes.
is that true?
if so...
do i even NEED the quotes or backticks, because i've seen many querys without them. or is it personal preference... something to help seperate the different lines?

just curious, because so far, i've kept with the backticks... untill i ran into this issue... using typical phpmyadmin query copy/paste to make sure the query is correct.

wGEric 04-21-2008 05:24 PM

You don't need either of those for columns. It's best not to use them. Back ticks are MySQL specific.

freenity 04-21-2008 05:39 PM

backticks(`) must mark the field name and quotes (') must mark the data values(you don't need them on the install).
You can omit back ticks whenever your field names are not in conflict with mysql reserved words.
For example if you want to have a field called where you must write: `where` varchar(100) not null......
but if you write
where varchar(100).. it will throw an error.

Evulness 04-21-2008 05:50 PM

goootcha.... see i thought i remember reading ticks were only needed if you were doing a query in phpmyadmin.

just wanted to clarify. I wanted to make sure, that way, windows or linux, my db class would work.

seems to be doing fine :)

Thanks guys.

Village Idiot 04-21-2008 07:46 PM

Ticks mark a user defined entity, I would use them. It prevents errors like this
Code:

SELECT * FROM from WHERE join = '1';
That will generate a syntax error since from and join are both commands. This, however, will run without error
Code:

SELECT * FROM `from` WHERE `join` = '1';
It also makes the code easier to read.


All times are GMT. The time now is 12:44 PM.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0