我充其量只是一个刚刚开始使用PDO的业余爱好者,而且我对插入语句有一点时间。我有一个函数,它可以更新表中的几列,但我的数据似乎没有正确绑定?我已经查看了google,php.net,http://wiki.hashphp.org,堆栈溢出本身以及sql站点,但是我还没有找到一个可靠的例子,我可以就如何比较去做这个。我看过很多例子,他们更新了一个列,但没有一个显示如何更新几列,我只是无法弄清楚。
希望那里有人可以帮助我,而我的流感浸泡大脑就会明白这一点。
MY GITHUB:https://github.com/monkeework/WrDK My SCRIPT:https://github.com/monkeework/WrDK/blob/master/library/timeline.php
我的功能:
function timelineRevise(){
#TimelineID & EntryID passed as hidden post values from timelineEdit() function
/*
<input type="hidden" name="EntryID" value="' . dbOut($row['TimelineID']) . '" />
<input type="hidden" name="EntryID" value="' . dbOut($row['EntryID']) . '" />
*/
$TimelineID = strip_tags($_POST['TimelineID']); #int - primaryKey
$EntryID = strip_tags($_POST['EntryID']); #int
$EntryTitle = strip_tags($_POST['EntryTitle']); #str
$EntryDate = strip_tags($_POST['EntryDate']); #str - entered by user
$EntryDescription = strip_tags($_POST['EntryDescription']); #str
$CharTag = strip_tags($_POST['CharTag']); #str of comma sep numbers
$db = pdo(); # pdo() creates and returns a PDO object
//dumpDie($FirstName);
$sql = "
UPDATE ma_Timeline
SET
TimelineID = :timeline_id, #PrimeKey
EntryID = :entry_id,
EntryTitle = :entry_title,
EntryDate = :entry_date,
EntryDescription = :entry_desc,
CharTag = :char_tag
WHERE EntryID = :entry_id";
$stmt = $db->prepare($sql);
//The Primary Key of the row that we want to update.
$stmt->bindValue(':timeline_id', $TimelineID, PDO::PARAM_STR); #INT - PrimeKey
$stmt->bindValue(':EntryID', $EntryID, PDO::PARAM_INT);
$stmt->bindValue(':entry_title', $EntryTitle, PDO::PARAM_STR);
$stmt->bindValue(':entry_date', $EntryDate, PDO::PARAM_STR);
$stmt->bindValue(':entry_desc', $EntryDescription, PDO::PARAM_STR);
$stmt->bindValue(':char_tag', $CharTag, PDO::PARAM_STR);
//INTEGER EXAMPLE $stmt->bindValue(1, $id, PDO::PARAM_INT);
try {$stmt->execute();} catch(PDOException $ex) {trigger_error($ex->getMessage(), E_USER_ERROR);}
#feedback success or failure of update
if ($stmt->rowCount() > 0)
{//success! provide feedback, chance to change another!
feedback("Event Revised Successfully!","success");
}else{//Problem! Provide feedback!
feedback("Event NOT REVISED!","warning");
}
myRedirect(THIS_PAGE);
}