[英]Passing Javascript object to PHP using post on submit and store data in mySQL DB
[英]How to store the object data in mysql db using php class function?
我在DB中創建了一個名為“member”的表,其中包含字段“name”,“college”,“email”,“zid”,現在我創建了一個類(在php中)
class member
{
private $name,$college,$email,$zid;
private function adduser
{
//function definition
}
public function autherise($id)
{
//function definition
}
}
現在在索引頁面我將這些值作為用戶的輸入使用html表單(由JS驗證)現在在表單的操作頁面我想創建對象as obj = new member(); 然后將類函數調用為obj-> autherise($ _ post ['zid']); 我希望autherise和adduser函數的定義如autherise檢查zid的唯一性和調用adduser與剩余的post變量並將它們存儲到object然后在一個查詢中將整個對象添加到DB。
我insert into member(name,email,college,zid) values('$name,$email,$college,$zid')
我想直接輸入obj到db
您可以修改函數中的任何內容
提前致謝!!!
在某個地方存儲整個對象的“簡單”解決方案,如在數據庫中,是將其序列化 - 即將其轉換為字符串; 然后,將該字符串存儲在數據庫的單個字段中。
這可以在PHP中使用serialize
函數完成 - 並且將字符串反序列化為對象,您將使用unserialize
函數。
另一個解決方案是將對象序列化為JSON格式 - 這很好用的是JSON可以直接從Javascript和許多不同的編程語言中使用,使用正確的庫。
對於JSON,請參閱json_encode
和json_decode
作為旁注:請注意,如果將數據存儲為序列化字符串,則在SQL中操作它們將更加困難 :例如,您將無法使用簡單的SQL查詢更新它們; 搜索也很難。
這意味着您將始終必須從數據庫中獲取數據,使用PHP操作它們,然后將它們發送回數據庫 - 根據您的需要,這可能並不總是一個好主意。
我不確定你要求的是什么。 但也許......也許你正在尋找一個對象關系映射器(orm) ,比如教條 。
如果您希望將對象存儲在數據庫中,可以將對象serialize()
或json_encode()
轉換為String,然后將其存儲在表中的字段中。
當您准備再次使用它時,您可以再次unserialize()
或json_decode()
字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.