-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create a class for UPDATE queries and moved methods from person class…
… to new db Moved person::addPhoto() and person::removePhoto() to new db code issue #20
- Loading branch information
Showing
3 changed files
with
114 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
<?php | ||
/** | ||
* Database query class for UPDATE queries | ||
* | ||
* This file is part of Zoph. | ||
* | ||
* Zoph is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation; either version 2 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* Zoph is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* You should have received a copy of the GNU General Public License | ||
* along with Zoph; if not, write to the Free Software | ||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
* | ||
* @package Zoph | ||
* @author Jeroen Roos | ||
*/ | ||
|
||
/** | ||
* The insert object is used to create UPDATE queries | ||
* | ||
* @package Zoph | ||
* @author Jeroen Roos | ||
*/ | ||
class update extends query { | ||
|
||
/** @var bool Set to true to allow UPDATE query without WHERE | ||
this will delete all data from the table | ||
There currently is no way of setting this, because it | ||
is a protection against accidently running a query like | ||
this during development or due to a bug */ | ||
private $updateAll=false; | ||
private $set=array(); | ||
|
||
public function addSet($field, $param) { | ||
$this->set[]=$field . "=:" . $param; | ||
} | ||
|
||
public function addSetFunction($function) { | ||
$this->set[]=$function; | ||
} | ||
|
||
/** | ||
* Create UPDATE query | ||
* @return string SQL query | ||
*/ | ||
public function __toString() { | ||
$sql = "UPDATE " . $this->table . " SET "; | ||
|
||
if(is_array($this->set)) { | ||
$sql.=implode(", ", $this->set); | ||
} else { | ||
// throw new DatabaseException("UPDATE with no SET"); | ||
} | ||
|
||
if($this->clause instanceof clause) { | ||
$sql .= " WHERE " . $this->clause; | ||
} else if (!$this->updateAll) { | ||
// throw new DatabaseException("UPDATE query without WHERE"); | ||
} | ||
return $sql . ";"; | ||
} | ||
|
||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters