user3127829
user3127829

Reputation: 17

Multiple rows from db

I'm trying to echo out multiple rows from a sql database, but I get the error Warning. Illegal string offset 'Date' In....

$channel_check = mysql_query("SELECT content, Date FROM wgo WHERE Posted_By='$user' ORDER by `id` DESC;");
    $numrows_cc = mysql_num_rows($channel_check);
    if ($numrows_cc == 0) {
echo ''; 

// They don't have any channels so they need to create one?><h4> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspYou haven't posted anything yet. You can post what's going on in your life, how you're feeling, or anything else that matters to you.</h4>


 <?php
}
else
{
?>
<div id="recentc">
</div>
<?php
echo"<h2 id='lp'> Latest Posts</h2>";
  while($row = mysql_fetch_array($channel_check)) {
  $channel_name = $row['content']['Date'];
 ?>
 <div style="margin-top:60px;">
 <hr style="margin-right:340px;width:600px; opacity:0;">

            <?php echo "<div id='rpc'><h6> $channel_name</h6></div>";?>
   </div>
<?php
 }
}
?>

Upvotes: 0

Views: 75

Answers (2)

Michael  Livach
Michael Livach

Reputation: 518

$row is 1-dimensional array with 2 fields: content and Date.

Try,

while ($row = mysql_fetch_array($channel_check)) {
    print_r($row);
    //$channel_name = $row['content']['Date'];

Upvotes: 1

Zarathuztra
Zarathuztra

Reputation: 3251

DATE is a datatype in SQL, you need to escape it with back ticks

SELECT content, `Date` FROM wgo WHERE Posted_By='$user' ORDER by `id` DESC

Also, you're accessing your row incorrectly. Rows are typically represented by a uni-dimensional array, so $row['content'] and $row['Date']

Upvotes: 2

Related Questions