早上好,簡單的SQL/PHP的問題
我嘗試做一些簡單的被使用的功能更新一些MySQL的行,並給予文件路徑爲,將參數。
這是我的更新函數,它在擴展PDO的類中。
public function update($table, $data, $where, $whereBindArray = array()) {
ksort($data);
$fieldDetails = NULL;
foreach($data as $key=> $value) {
$fieldDetails .= "`$key`=:$key,";
}
$fieldDetails = rtrim($fieldDetails, ',');
$sth = $this->prepare("UPDATE $table SET $fieldDetails WHERE $where");
foreach ($data as $key => $value) {
$sth->bindValue(":$key", $value);
}
foreach ($whereBindArray as $key => $value) {
$sth->bindValue(":$key", $value);
}
$sth->execute();
}
有我的PHP代碼:
$rpath = realpath(dirname(__FILE__)) . '/' . basename(__FILE__);
$db->update(
'as_texts', array(
"content" => $_POST['content'],
"lastupdate" => date("Y-m-d H:i:s"),
"rpath = :r",
array("r" => $rpath)
));
和還有我的表SQL
CREATE TABLE `as_texts` (
`ID` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(75) NOT NULL,
`rpath` VARCHAR(200) NOT NULL,
`content` TEXT NOT NULL,
`lastupdate` DATETIME NOT NULL default '0000-00-00 00-00-00',
PRIMARY KEY (`ID`),
UNIQUE KEY (`rpath`)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
所以它是所有關於編輯的內容,當其中的是rpath LASTUPDATE場是文件路徑。
是什麼讓你覺得有什麼不對?你有錯誤嗎?你做了什麼來解決這個問題? –
它不起作用 –
必須給我們多於 –