Converted PHP query to PDO and now getting no results -


i had query working fine, after converting pdo getting results below instead of results laid out in table. perhaps problem foreach loop , variables? if dump $row array(0) { }, results below when dump $results:

//original (but not secure) code worked:

$results = $wpdb->get_results("select stories.story_name, stories.category, stories.sid, wp_users.id, wp_users.display_name stories left join wp_users on stories.id=wp_users.id stories.active = 1"); 

//new pdo code not working:

$results = $dbh->prepare("select  wp_users.id, wp_users.display_name, stories.sid, stories.story_name, stories.category, stories left join wp_users on stories.id=wp_users.id stories.active=1");  $results->execute(); $row = $results->fetchall(pdo::fetch_assoc);  echo var_dump($results);  if ($row) { echo '<table>'; echo '<tr>'; echo '<td><b>topic</b></td>'; echo '<td><b>category</b></td>'; echo '<td><b>last user</b></td>'; echo '</tr>'; foreach ($row $result) {  echo '<tr>'; echo "<td>site</td>"; echo '<td>$row->category; '</td>'; echo "<td>display_name</a></td>"; } echo '</table>'; } ?> 

//results on page:

object(pdostatement)#76 (1) { ["querystring"]=> string(203) “select wp_users.id, wp_users.display_name, stories.sid, stories.story_name, stories.category, stories left join wp_users on stories.id=wp_users.id stories.active=1″ } 

kindly remove bindparam part. , remain part because have not passed parameters in prepared statement.

$results = $dbh->query(" select wp_users.id, wp_users.display_name, stories.sid, stories.story_name, stories.category, storiesleft      join wp_users  on  stories.id=wp_users.id  stories.active=1 ");  $row = $results->fetchall(pdo::fetch_assoc); 

edit: seem have gotten mixed on way. how should have table

<table> <tr>   <th>topic </th>   <th>category</th>   <th>last user</th> </tr> <tr> <?php foreach ($row data) { ?>   <td><?php echo $data['story_name']; ?></td>   <td><?php echo $data['category']; ?></td>   <td><?php echo $data['display_name']; ?></td> <?php } ?> </tr> </table> 

you have these issue address:

  1. when use $row = fetchall(pdo::fetch_assoc);, fetch rows $row['foobar'] (array foobar being key) , not $row->foobar. later meant fetching data object $row = fetchall(pdo::fetch_obj);

  2. you don't echo out html. check these php best practices (especially no. 5).


Comments

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -