You were right on the money, "hour" was the problem and the tick marks
solved it. I spent 3 hours trying to figure out why I never got an error but
there was no insert and php myadmin does add the tick marks automatically.
Probably a good habit to always use the tick marks.
Learn something new everyday.
On Thu, Feb 11, 2010 at 4:26 PM, Joseph Thayne <webad...@thaynefam.org>wrote:
> Try putting tick marks (`) around the field and table names. So your SQL
> query would then look like:
> INSERT INTO `history` (`v_id`, `hour`, `visits`, `date`) VALUES (45, 0, 59,
> '2010 01 27');
> This is a good practice to get into. The problem is that MySQL allows you
> to create tables and fields with the same name as functions. If the tick
> marks are not there, then it assumes you mean to try using the function. In
> your case, hour is a function in mysql. I would assume that the reason it
> works in phpmyadmin is that it filters the query somehow to add the tick
> marks in.
> james stojan wrote:
>> I'm at my wits end trying to make this mysql statement insert work in
>> PHP. I'm not getting any errors from PHP or mysql but the insert fails
>> (nothing is inserted) error reporting is on and is reporting other
>> errors. When I echo out the query and manually paste it into PHP
>> myAdmin the query inserts without a problem. I know that I am
>> connecting to the database as well part of the data being inserted
>> comes from the same database and that the mysql user has permission to
>> do inserts (even tried as root no luck).
>> $query="INSERT INTO upload_history (v_id,hour,visits,date) VALUES
>> $r2=mysql_query($query) or die("<b>A fatal MySQL error
>> occured</b>.\n<br />Query: " . $query . "<br />\nError: (" .
>> mysql_errno() . ") " . mysql_error());
>> This is an echo of $query and runs in phpmyadmin.
>> INSERT INTO history (v_id,hour,visits,date) VALUES (45,0,59,'2010 01 27');
>> Any idea what is going on here?