[英]SQL + PHP Update query
我一直在嘗試根據用戶會話(UserLogin)更新數據,但它一直在說:條件表達式中的數據類型不匹配。 print_r
僅用於測試目的。
提前致謝,
ž
function Employee1_BeforeShow(& $sender)
{
$Employee1_BeforeShow = true;
$Component = & $sender;
$Container = & CCGetParentContainer($sender);
global $Employee1; //Compatibility
$Page = CCGetParentPage($sender);
$db = $Page->Connections["PettyCashMDB"];
$sql1 = "UPDATE Employee SET Employee.LastActive = Date() WHERE Employee.[EmpID] = ". $_SESSION['UserLogin'];
$db->query($sql1);
print_r($_SESSION['UserLogin']);
$db->close();
Employee1_BeforeShow @67-67106FAD
return $Employee1_BeforeShow;
}
編輯:我嘗試了@NanaPartykar的方法,偶然地我注意到它的確從$_SESSION['UserLogin']
獲取了值,只是數據類型有所不同。
編輯:它顯示錯誤Data type mismatch
但它們都是字符串,並返回字符串。
代替Employee.[EmpID]
,使用Employee.EmpID
您需要一些引號:
$sql1 = "UPDATE Employee SET Employee.LastActive = Date() WHERE Employee.[EmpID] = \'". $_SESSION['UserLogin'] . "\'";
Z-有很多內置的Codecharge函數可幫助從查詢字符串,會話和控件中獲取值。
例如:CCGetSession(“ UserLogin”,“ default”);
並通過一些驗證執行SQL(來自“ Execute Custom SQL”幫助主題):
$db = new clsDBConnection1();
$SQL = "INSERT INTO report (report_task_id,report_creator) ".
"VALUES (". $db->ToSQL(CCGetFromGet("task_id",0),ccsInteger) .",". $db->ToSQL(CCGetUserID(),ccsInteger) .")";
$db->query($SQL);
$db->close();
$ db-> ToSQL(和CCToSQL)函數轉換並為相關數據類型(ccsText,ccsDate)添加引號。
手冊中有很多關於PHP(和ASP,.NET等)的“示例”和“編程參考”下的示例。
http://support.codecharge.com/tutorials.asp
我強烈建議您看一些示例,因為Codecharge將處理很多“管道”,添加大量自定義代碼會導致代碼生成問題。 在您的示例中,您應該在記錄的“演出前”事件中添加“自定義代碼”操作,然后在其中添加代碼。 如果您在任何地方添加代碼,則整個代碼部分(例如:放映前)將更改顏色,並且如果您更改了內容,則不再更新。
例如,如果您手動編輯了“更新”功能以更改默認值,那么通過IDE /屬性進行的任何更改都不會更改“更新”功能(例如向記錄中添加新字段)。
終於成功了,這是代碼$sql1 = "UPDATE Employee SET LastActive = Date() WHERE EmpID = '$_SESSION[UserLogin]' ";
謝謝大家的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.