1

Previously I tried translating the php pdo code to my php version, but I got a problem like this. "Warning: Illegal string offset 'tagName' in...". Can someone help me, what should i do? i dont know basic code.

PDO Version:

$stmt2 = $db->prepare('SELECT catTitle, catSlug FROM blog_cats, blog_post_cats WHERE blog_cats.catID = blog_post_cats.catID AND blog_post_cats.postID = :postID');
$stmt2->execute(array(':postID' => $row['postID']));
$catRow = $stmt2->fetchAll(PDO::FETCH_ASSOC);
$links = array();
foreach ($catRow as $cat)
{
$links[] = "<a href='c-".$cat['catSlug']."'>".$cat['catTitle']."</a>";
}
echo implode(", ", $links);

My Php:

  $check_tag = mysql_query("SELECT tagName, tagSlug FROM tb_tags, tb_tag_posts WHERE tb_tags.tagID = tb_tag_posts.tagID AND tb_tag_posts.postID = '".$post['postID']."'") or die(mysql_error());
  $tagRow = mysql_fetch_assoc($check_tag);
  $tag_links = array();
  foreach($tagRow as $tag){
    $tag_link[] = "<a href=''>".$tag['tagName']."</a>";
  }
  echo implode(", ", $tag_link);

I need to create like this: tag-1, tag-2

1 Answers1

0

$tagRow is a single row with 2 keys/values. $tag is a string value. You'll want to use a while loop to get each row, then you can get the values.

  $check_tag = mysql_query("SELECT tagName, tagSlug FROM tb_tags, tb_tag_posts WHERE tb_tags.tagID = tb_tag_posts.tagID AND tb_tag_posts.postID = '".$post['postID']."'") or die(mysql_error());
  $tag_links = array();
  while($tagRow = mysql_fetch_assoc($check_tag);){
    $tag_link[] = "<a href=''>".$tagRow['tagName']."</a>";
  }
  echo implode(", ", $tag_link);
aynber
  • 22,380
  • 8
  • 50
  • 63