ich eine Funktion haben, die sollen mir ein Array zurück, wie diesesarray_merge() Ausgabe mit PDO
Array
(
[company1] => position1
[company2] => user2
)
ich eine richtige SQL-Abfrage haben, die mir die erforderlichen Daten nur gut holt (in MySQL Workbench getestet und durch Dumping die Daten
die Funktion, die die Sache tut (Kommentar in CAPS an der Linie mit Ausgabe).
function check_user_status ($db){
try {
$log = new PDO("mysql:host=".$db['server'].";dbname=".$db['db'], $db['mysql_login'], $db['mysql_pass'], array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
// set the PDO error mode to exception
$log->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// prepare sql and bind parameters
$stmt=$log->prepare ("select a.companyname,b.role from companies a, roles b where a.companyid=b.companyid and (b.uid = :uid and b.suspended = 0);");
$stmt->bindParam(":uid", $_SESSION['uid'], PDO::PARAM_INT);
$stmt->execute();
$count=$stmt->rowCount();
//echo "<br>count = $count<br>"; //outputs the numbner of resulting rows for debuging
if($count >=1) {
unset ($_SESSION['status']); //purge any previous user_status
$_SESSION['status'] = array();
while ($userRow = $stmt->fetch(PDO::FETCH_ASSOC)) {
//echo "<br>{$userRow['companyname']} => {$userRow['role']}<br>"; outputs the data for debuging
array_merge ($_SESSION['status'], array($userRow['companyname'] => $userRow['role']));// THIS DOESN'T WORK FOR SOME REASON
}
return true;
}
else
{
//return false;
}
}
catch(PDOException $e) {
return false;
echo 'error: '. $e->getMessage();
}
}
Nun ist diese:
check_user_status($db);
var_dump ($_SESSION['status']);
Ausgänge mich leer Array:
array(0) { }
array_merge_recursive()
funktioniert auch nicht. Benachrichtigungen sind aktiviert, keine Benachrichtigung wird ausgelöst. Jede Hilfe würde sehr geschätzt werden.
'$ _SESSION ['status'] = array_merge ($ _SESSION ['status'], Array ($ userRow ['Firmenname'] => $ userRow ['Rolle']));' @Marc OMFG, thats was du für mehr als 10 Stunden hintereinander bekommst! – RWS