John Allsopp wrote: > On 19/05/15 08:47, Marcos Almeida Azevedo wrote: > >> On Tue, May 19, 2015 at 3:45 PM, John Allsopp <john@xxxxxxxxxxxxxxxxx> >> wrote: >> >>> $sql = "INSERT into BOOKING values (null, $pBOOKING_showtimeId, >>> $pBOOKING_numberOfVehicles, \"$pBOOKING_nameOfPerson\ .... )"; >>> >>> and when I look at that $sql, it's >>> INSERT into BOOKING values (null, , 1, "", ...) >>> >>> So, it's failing because the function >>> $myShowtimeController->getShowtimeId() returns NULL, but that's not >>> reflected in the SQL, so my first question is, do I really have to >>> write: >>> >>> if ($pBOOKING_showtimeId===null) >>> { >>> $sql .= "null, "; >>> } else >>> { >>> $sql .= "$pBOOKING_showtimeId, "; >>> } >>> >>> .. and my second question is that none of the string variables are going >>> to come out NULL either, they'll end up as blank strings. >>> >>> I'm really just trying to avoid having to write the above fix for all >>> those variables. >>> >>> Where am I wrong and why? It appears that you already understand the problem: NULL has to written literally, but not as string. Instead of constructing the query manually, you should consider using prepared statements if these are supported by your database library. When you bind the concrete values to the prepared statement, the library takes care of the types (maybe you have to explicitly specify the type). Prepared statements are generally recommendable for security reasons, by the way ("SQL Injection"). >> Would you kindly share info about the table? Specially the constraints > > Not sure what you mean about 'constraints' tbh, but here's the table > structure cut/pasted if that helps: > > 1 BOOKING_id int(10) UNSIGNED No None > AUTO_INCREMENT > 2 BOOKING_showtimeId int(10) UNSIGNED No None > 3 BOOKING_numberOfVehicles int(10) UNSIGNED No None > 4 BOOKING_nameOfPerson varchar(32) utf8_unicode_ci Yes > NULL > > it's the SQL that's the problem, no? It is important that the respective fields allow NULL values (and are not constrained to NOT NULL), what appears to be the case. -- Christoph M. Becker -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php