php - Am I handling query errors correctly in Medoo Framework? -


i'm using medoo framework handle database queries. pdo wrapper, didn't find in documentation how handle errors or check result, return empty array, false 0 etc.

as couldn't understand how handle errors i'm doing using empty() because can handle false , 0 , empty array think it's okay here):

on select (medoo returns array)

// same as: // select username accounts id=$id , suspended=0  $select = $database->select("accounts",["username"], [     "and" => [         "id" => $id,         "suspended"   => 0     ] ]);  // have check if query failed if row not found  if (empty($select) === false && count($select) > 0) {       // didn't fail       // username this:       $key      = array_keys($select)[0];       $username = $select[$key]['username']; } else {       // failed } 

on insert (medoo says returns insert id here)

$insert = $database->insert("accounts", [     "username"        => "$username" ]);  // check if query didn't fail , inserted (affected rows think?)  if (empty($insert) === true or $insert < 1) {     // failed } 

on update (this clear query, returns affected rows)

$update = $database->update("accounts", ["brute_force[+]" => 1], ["id" => $user_id]);  if (empty($update) === true or $update < 1) {      // failed } // check if query didn't fail , affected row 

i confused , unsure these i'm paranoid maybe should rewrite , use codeigniter do.

to check if select/update statement succeeded use:

if(!$select){ // select failed }

because medoo return false or 0 or empty array if select/update failed or no data retrieved/updated, , of these things equal false in if statement. insert can use same thing if table in database has id field primary key; if don't have primary key, use error() method , parse response check errors, because medoo return 0 though statement executed.


Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -