In php, if you try to perform an operation on $start_time (assuming that it is a variable in the script containing a string) it will be used as an integer. It works fine if the string is something like "1234". $start_time will then be converted to an integer variable (because it is on the left of the "=").
If there is a column in a mysql table that is named "start_time" and is a varchar datatype and you do something like
$start_time = $row['start_time'] (where $row contains a row of a result from a query) then $start_time will be a string.
If you are writing a query to submit data to the mysql database and you can do something like
$query = "INSERT INTO table (`start_time`, `finish_time`) VALUES ( " . $start_time . ", " . $finish_time . ")";
//or
$query = "INSERT INTO table (`start_time`, `finish_time`) VALUES ( '" . $start_time . "', '" . $finish_time . "')";
With the single quotes ('), the mysql treats whatever is in them as a string no matter what. When you do
$string = "$int"; or
$string = "number is " . $int; , $int is used as a string. So when you are creating the query it doesn't matter what type $start_time is. Without the single quotes I think SQL will assume it's whatever type it needs to be. (mysql converts it to the right data type anyway so there's usually no problem). Just be careful doing
"... WHERE culumn_name=$string" instead of
"... WHERE culumn_name='$string'" because other wise only the first word of $string will be used.
This changing types is called "typecasting" if you want to research it more or anything like that.