I\'ve got a problem with the mysqli result set. I have a table that contains a bunch of messages. Every table row represents one message. I have a few columns like ID, title
You're almost there, you would only need to change a few things:
$result = $link->query("SELECT * FROM messages WHERE public = '1'");
$messages = array();
while($message = $result->fetch_assoc()){
$messages[] = $message;
}
This would result in something like this:
array(
0 => array('message' => ..., 'subject' => ...),
1 => array('message' => ..., 'subject' => ...),
2 => array('message' => ..., 'subject' => ...),
);
If you want the IDs as the keys, do something like this:
$messages = array();
while($message = $result->fetch_assoc()){
$messages[ $message["id"] ] = $message;
}
Which would result in:
array(
123 => array('message' => ..., 'subject' => ...),
456 => array('message' => ..., 'subject' => ...),
789 => array('message' => ..., 'subject' => ...),
);
In PHP 5.3, you also get a new method, which does the same as the first code example I posted:
$messages = $result->fetch_all(MYSQLI_ASSOC);