php - Serialize multiple data from database of same column -
i'm new php , using serialized data,
i have database has 2 tables, user & character. characterid has relation userid.
an user has 2 characters, wanted data following code:
public static function getcharacter() { $mysqli = controller_core_config::getdb(); if ($mysqli != null) { $user = unserialize($_session['user']); $sql = "select * `character` `userid`='" . $user->getid() . "'"; $result = $mysqli -> query($sql); if ($result !== false && $result -> num_rows > 0) { $row = $result -> fetch_assoc(); $_session["character"] = serialize(new model_game_user( $row['characterid'], $row['charactername'], $row['userid'], $row['level'] )); } else { echo "you have no characters."; } } }
and if wanted show data use following code:
//some code $character = unserialize($_session["character"]); $output .= $character->getcharactername() . "<br>"; //some code
my problem is, when var_dump ($_session["character"]) 1 character:
string(202) "o:15:"model_game_user":4:{s:28:"model_game_usercharacterid";s:1:"3";s:30:"model_game_usercharactername";s:9:"adminious";s:23:"model_game_useruserid";s:1:"2";s:22:"model_game_userlevel";s:1:"3";}"
and question is, possible have multiple 'characters' in serialized data?
you not looping on results. adding first result found session
you need replace if
block:
if ($result !== false && $result -> num_rows > 0) { $_session["character"][] = array(); while($row = $result -> fetch_assoc()) { $_session["character"][] = serialize(new model_game_user( $row['characterid'], $row['charactername'], $row['userid'], $row['level'] )); } }
Comments
Post a Comment