Welcome Guest, Not a member yet? Register   Sign In
CI4 Generate Empty String On Query Binding Value On "FALSE" value
#1

(This post was last modified: 02-02-2021, 04:15 AM by simonickalexs.)

So, I was updating the version from 4.0.4 to 4.1.0 (and after it to 4.1.1 to see the same bug). But, I have this code:
PHP Code:
$this->model->update(intval($id), ['ispartial' => false]); 

But then it throw error
Code:
CRITICAL - 2021-02-02 18:37:15 --> Incorrect integer value: '' for column `dbname`.`thetable`.`ispartial` at row 1

Here's the log if it's useful:
Code:
CRITICAL - 2021-02-02 18:37:15 --> Incorrect integer value: '' for column `dbname`.`thetable`.`ispartial` at row 1
#0 my-directory-project\server\vendor\codeigniter4\framework\system\Database\MySQLi\Connection.php(314): mysqli->query('UPDATE `incomin...')
#1 my-directory-project\server\vendor\codeigniter4\framework\system\Database\BaseConnection.php(713): CodeIgniter\Database\MySQLi\Connection->execute('UPDATE `incomin...')
#2 my-directory-project\server\vendor\codeigniter4\framework\system\Database\BaseConnection.php(641): CodeIgniter\Database\BaseConnection->simpleQuery('UPDATE `incomin...')
#3 my-directory-project\server\vendor\codeigniter4\framework\system\Database\BaseBuilder.php(2468): CodeIgniter\Database\BaseConnection->query('UPDATE `incomin...', Array, false)
#4 my-directory-project\server\vendor\codeigniter4\framework\system\Model.php(353): CodeIgniter\Database\BaseBuilder->update()
#5 my-directory-project\server\vendor\codeigniter4\framework\system\BaseModel.php(901): CodeIgniter\Model->doUpdate(Array, Array)
#6 my-directory-project\server\vendor\codeigniter4\framework\system\Model.php(737): CodeIgniter\BaseModel->update(Array, Array)
#7 my-directory-project\server\app\Controllers\v1\IncomingData.php(556): CodeIgniter\Model->update(1420140, Array)
#8 my-directory-project\server\vendor\codeigniter4\framework\system\CodeIgniter.php(936): App\Controllers\v1\IncomingData->status()
#9 my-directory-project\server\vendor\codeigniter4\framework\system\CodeIgniter.php(432): CodeIgniter\CodeIgniter->runController(Object(App\Controllers\v1\IncomingData))
#10 my-directory-project\server\vendor\codeigniter4\framework\system\CodeIgniter.php(333): CodeIgniter\CodeIgniter->handleRequest(NULL, Object(Config\Cache), false)
#11 my-directory-project\server\public\index.php(45): CodeIgniter\CodeIgniter->run()
#12 {main}


I thought it was the $id is string, so I add intval. But then when I debug, it's the data. Here's the video of me debugging all of it. Please note: I'm a newbie and not professional or pros or master or anything above, I'm just learning, that's why I add all of the breakpoint even the I-don't-have-to-breakpoint-that line of code.

[Video: https://vimeo.com/507464819]

Because of this, I revert to version 4.0.4, and now it's working very well again. I don't know which part that make the "FALSE" boolean value to empty string. It's working with the "TRUE" tho, but not with the "FALSE". Thank you.
Reply


Messages In This Thread
CI4 Generate Empty String On Query Binding Value On "FALSE" value - by simonickalexs - 02-02-2021, 04:14 AM



Theme © iAndrew 2016 - Forum software by © MyBB