Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mysqli prepared statements, insert NULL using bind params

Does anyone know if it is possible to insert NULL into a column with MYSQLI bind_param.

I have a situation where sometimes I want to set a column to null in bind_param. Like so...

$column2 = "NULL";
$insert_data->bind_param('ss', $column1,$column2);

Obviously, this just writes NULL to the column as a string. I've tried null and \0 but they don't work.

I would like to know if there is some value I can make $column2 equal that will cause it to submit and actual null value instead.

Otherwise, I'll have to dynamically build the type and parameter lists and use call_user_func_array to create my binding such that columns aren't written if they are null. This I can do but it leads to a lot of fiddly extra code so I was just wondering if this can be avoided.

like image 813
Columbo Avatar asked Feb 07 '11 11:02

Columbo


1 Answers

use: $column2 = null; not: $column2 = "null";

like image 114
Columbo Avatar answered Oct 29 '22 19:10

Columbo