benthejack Posted December 30, 2006 Share Posted December 30, 2006 hi ive just been slaving over this last problem for the last couple of hours (and am starting to get rather annoyed). ive been creating some database interaction scripts which require the insertion of some unknown strings into a database.the code i have so far is $string = "some string";$session = 10;$currentTime = time();$hostname="mysql243.secureserver.net";$username="benthejack";$password="**********";$dbname="benthejack";$con = mysql_connect($hostname,$username, $password) OR DIE ("Unable to connect to database! Please try again later.");mysql_select_db($dbname);mysql_query("INSERT INTO PList (pName, sessionID, timeStamp) VALUES ($string, $session, $currentTime)"); the problem im having is that the INSERT clause fails because of the $string value for some reason.the pName (the column $session goes into) column is a varChar type column, so i dont see why this shouldnt work.it seems to work fine if i put only numbers into the $session string, or if i input a string directly into the INSERT clause.this works: $string = "185"; mysql_query("INSERT INTO PList (pName, sessionID, timeStamp) VALUES ($string, $session, $currentTime)"); and so does this: mysql_query("INSERT INTO PList (pName, sessionID, timeStamp) VALUES ('some string', $session, $currentTime)"); but for some reason i cant get the code i need to work: $string = "some string"; mysql_query("INSERT INTO PList (pName, sessionID, timeStamp) VALUES ($string, $session, $currentTime)"); anyone know why this is?cheersBenthejack Link to comment Share on other sites More sharing options...
CStrauss Posted December 30, 2006 Share Posted December 30, 2006 Okay i just set up a database table and ran your script and here is what i did to get it to work. Get ready to kick your self take your insert query: mysql_query("INSERT INTO PList (pName, sessionID, timeStamp)VALUES ($string, $session, $currentTime)"); and put single quotes around the varaible names like this: mysql_query("INSERT INTO PList (pName, sessionID, timeStamp)VALUES ('$string', '$session', '$currentTime')"); and that should make it work Link to comment Share on other sites More sharing options...
benthejack Posted December 30, 2006 Author Share Posted December 30, 2006 *wincescheers that was exactly my problem. lol i spent about 2 hours on a missing pair of quotes!thanks heaps Link to comment Share on other sites More sharing options...
CStrauss Posted December 30, 2006 Share Posted December 30, 2006 heheheh i remember one time in school i was taking my programming final and we were doing the lab part where we had to write a program. Any how i was to code through with ease took me about 45 min to get done then when I went to test it I got an error and sure enough it took me the remaning two hours of class to find that i forgot a quote somewhere in my program.It's seems to be just a basic human nature we tend to over look the small things while looking at the bigger picture.Another quick tip instead of setting a timestamp variable you could do something like this. Have your time field in your database set to datetime. then use the now() function to insert the current time and date. like this mysql_query("INSERT INTO PList (pName, sessionID, timeStamp)VALUES ('$string', '$session', now())"); that will save you a line of program and insure more vaild data Link to comment Share on other sites More sharing options...
supertrucker Posted December 31, 2006 Share Posted December 31, 2006 I wish I saw this post last night when I was trying to figure out how to update my database from my code. I was making the exact same mistake!! At least I know I'm not alone! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now