- PDO Params are now properly (mostly..) binded, bool, null and int are now handled correctly
This commit is contained in:
		
							parent
							
								
									c1755d250b
								
							
						
					
					
						commit
						9a9f473f3f
					
				@ -29,7 +29,7 @@ class PdoObject extends PDO {
 | 
				
			|||||||
                return $statement;
 | 
					                return $statement;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } 
 | 
					        } 
 | 
				
			||||||
        catch (\PDOException $e) {
 | 
					        catch (\Throwable $e) {
 | 
				
			||||||
            throw new \PdoException($e->getMessage() . " `$sql` with data:" . json_encode($parameters));
 | 
					            throw new \PdoException($e->getMessage() . " `$sql` with data:" . json_encode($parameters));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -50,7 +50,7 @@ class PdoObject extends PDO {
 | 
				
			|||||||
                return $this->execute($statement, $parameters, true);
 | 
					                return $this->execute($statement, $parameters, true);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } 
 | 
					        } 
 | 
				
			||||||
        catch (\PDOException $e) {
 | 
					        catch (\Throwable $e) {
 | 
				
			||||||
            throw new \PdoException($e->getMessage() . " `$sql` with data:" . json_encode($parameters));
 | 
					            throw new \PdoException($e->getMessage() . " `$sql` with data:" . json_encode($parameters));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
@ -82,7 +82,27 @@ class PdoObject extends PDO {
 | 
				
			|||||||
                $this->beginTransaction();
 | 
					                $this->beginTransaction();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            $this->executionStatus = empty($parameters) ? $statement->execute() : $statement->execute($parameters);
 | 
					            foreach($parameters as $key => $value) {
 | 
				
			||||||
 | 
					                switch(strtolower(gettype($value))) {
 | 
				
			||||||
 | 
					                    case "boolean":
 | 
				
			||||||
 | 
					                        $statement->bindValue($key, $value, Pdo::PARAM_BOOL);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    case "integer":
 | 
				
			||||||
 | 
					                        $statement->bindValue($key, $value, Pdo::PARAM_INT);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    case "null":
 | 
				
			||||||
 | 
					                        $statement->bindValue($key, $value, Pdo::PARAM_NULL);
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    case "string":
 | 
				
			||||||
 | 
					                    default:
 | 
				
			||||||
 | 
					                        $statement->bindValue($key, (string) $value, Pdo::PARAM_STR);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            $this->executionStatus = $statement->execute();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if ( $this->executionStatus  ) {
 | 
					            if ( $this->executionStatus  ) {
 | 
				
			||||||
                $this->lastInsertId = $this->lastInsertId();
 | 
					                $this->lastInsertId = $this->lastInsertId();
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user