PDA

View Full Version : Help unserialize an Array in MYSQL


techgearfree
01-31-2005, 03:46 AM
I have a function that gives an array if I call: full

In my register file, I include the file with the function and set up the variable to full:





$full = serialize(browser_detection( 'full'));





Now, later I take it into my sql as the variable $full, and I get:

a:10:{i:0;s:2:"ie";i:1;s:3:"6.0";i:2;s:4:"ie5x";i:...

Now, I want to make this readable in a webpage, so I try to set a variable equal to the unserialized form of the array:




$user_browser = unserialize($result3['userinfo']);




Note that userinfo is the collumn and result finds the row of the user I want.

However, when I display $user_browser, I get:

Array


What am I doing wrong?


Thanks

hemebond
01-31-2005, 04:14 AM
Have you tried$user_browser[0]

techgearfree
01-31-2005, 04:29 AM
Changed code to:


<?php
if ($modules) {
$admininfo['Fraud']['info'][] = array(
'name' => 'Users and IP',
'link' => $file,
);
return;
}
include './../includes/adminheader.php';

$post_userid = $_POST['userid'];

if ( $_POST && $post_userid != NULL ) {
// page that confirms that it went thru okay? finished page?

/********** START DISPLAY INFORMATION *********/
$query = "SELECT * FROM users WHERE id = '$post_userid'";
$result = mysql_query($query);
while($result3 = mysql_fetch_array($result)) {
$user_id = $result3['id'];
$user_username = $result3['username'];
$user_password = $result3['password'];
$user_ip = $result3['ip'];
$user_signupcookieip = $result3['cookieip'];
$user_street = $result3['street'];
$user_city = $result3['city'];
$user_state = $result3['state'];
$user_zip = $result3['zip'];
$user_referral = $result3['referral'];
$query_offer = "SELECT * FROM offer_credit WHERE user_id = '$post_userid'";
$result_offer = mysql_query($query_offer);
while($result_offer3 = mysql_fetch_array($result_offer)) {
$offer_complete = 1;
}
if ( $offer_complete == 1 ) {
$user_completed_offer = "Yes";
}
else {
$user_completed_offer = "No";
}
$user_resolution = $result3['resolution'];
$user_signuptime = $result3['signuptime'];
$user_browser[0] = unserialize($result3['userinfo']);

$query = "SELECT * FROM logins WHERE username = '$user_username'";
$result = mysql_query($query);
while($result3 = mysql_fetch_array($result)) {
$user_login .= $result3['login'].'<br>';
$user_loginips .= $result3['loginip'].'<br>';
$user_logincookieip .= $result3['logincookieip'].'<br>';


$table = "<TR>
<TD><CENTER>" . $user_id . "</CENTER></TD>
<TD><CENTER>" . $user_username . "</CENTER></TD>
<TD><CENTER>" . $user_password . "</CENTER></TD>
<TD><CENTER>" . $user_street . "</CENTER></TD>
<TD><CENTER>" . $user_city . "</CENTER></TD>
<TD><CENTER>" . $user_state . "</CENTER></TD>
<TD><CENTER>" . $user_zip . "</CENTER></TD>
<TD><CENTER>" . $user_referral . "</CENTER></TD>
<TD><CENTER>" . $user_completed_offer . "</CENTER></TD>
<TD><CENTER>" . $user_signuptime . "</CENTER></TD>
<TD><CENTER>" . $user_ip . "</CENTER></TD>
<TD><CENTER>" . $user_signupcookieip . "</CENTER></TD>
<TD><CENTER>" . $user_resolution . "</CENTER></TD>
<TD NOWRAP><CENTER>" . $user_login . "</CENTER></TD>
<TD NOWRAP><CENTER>" . $user_loginips . "</CENTER></TD>
<TD NOWRAP><CENTER>" . $user_logincookieip . "</CENTER></TD>
<TD NOWRAP><CENTER>" . $user_browser[0] . "</CENTER></TD>
</TR>";
}

$query = "SELECT * FROM users WHERE id != '$post_userid' && ip = '$user_ip'";
$result = mysql_query($query);
while($result3 = mysql_fetch_array($result)) {
$offer_complete = 0;
$referral_id = $result3['id'];
$referral_username = $result3['username'];
$referral_password = $result3['password'];
$referral_ip = $result3['ip'];
$referral_street = $result3['street'];
$referral_city = $result3['city'];
$referral_state = $result3['state'];
$referral_zip = $result3['zip'];
$referral_referral = $result3['referral'];
$query_offer = "SELECT * FROM offer_credit WHERE user_id = '$referral_id'";
$result_offer = mysql_query($query_offer);
while($result_offer3 = mysql_fetch_array($result_offer)) {
$offer_complete = 1;
}
if ( $offer_complete == 1 ) {
$referral_completed_offer = "Yes";
}
else {
$referral_completed_offer = "No";
}
$referral_resolution = $result3['resolution'];
$referral_signuptime = $result3['signuptime'];
$table = $table . "<TR>
<TD><CENTER>" . $referral_id . "</CENTER></TD>
<TD><CENTER>" . $referral_username . "</CENTER></TD>
<TD><CENTER>" . $referral_password . "</CENTER></TD>
<TD><CENTER>" . $referral_ip . "</CENTER></TD>
<TD><CENTER>" . $referral_street . "</CENTER></TD>
<TD><CENTER>" . $referral_city . "</CENTER></TD>
<TD><CENTER>" . $referral_state . "</CENTER></TD>
<TD><CENTER>" . $referral_zip . "</CENTER></TD>
<TD><CENTER>" . $referral_referral . "</CENTER></TD>
<TD><CENTER>" . $referral_completed_offer . "</CENTER></TD>
<TD><CENTER>" . $referral_resolution . "</CENTER></TD>
<TD><CENTER>" . $signuptime . "</CENTER></TD>
</TR>";
}


$tvars = array(
'TABLE' => $table,
'USERNAME' => $username,
'USER_ID' => $user_id
);
pparse('admin/users_referrals_list');
/********** END DISPLAY INFORMATION *********/

}
}
elseif ( $_POST ) {
if ( $post_userid == NULL ) {
// error empty fields
echo "Error, empty fields. Go <a href=\"admin_users_ip.php\">back</a>";
}
}

else {
// form fields, just 'name', 'desc', 'time', 'pts', 'link', 'img'
pparse('admin/users_ip');
}

include './../includes/adminfooter.php';
?>


and only get Array

marek_mar
01-31-2005, 07:40 AM
Ok

$my_neat_vars = unserialize($array)
foreach($my_neat_vars as $name => $value)
{
print $name . ' has the value: ' . $value . '<br />';
}
// or for arrays with integer indexes
for($i = 0, $n = count($my_neat_vars); $i < $n; $i++)
{
print 'Index: ' . $i . ' Value: ' . $my_neat_vars[$i] . '<br />';
}

Get the idea?
Array (http://www.php.net/array) Array as language type (http://www.php.net/manual/en/language.types.array.php)

techgearfree
01-31-2005, 09:34 PM
Thank you for your help, but I still cannot find a way to make this work. I am just not understanding what I need to do :(

Thank You For Helping

marek_mar
01-31-2005, 10:20 PM
print_r() your variable. Read about arrays (link in my previous post). You should figure it out.