2011-11-24 135 views
0

这是我的代码至今: -mysql_fetch_array没有在Zend框架的工作

$db = $this->getInvokeArg('bootstrap')->getPluginResource('db')->getDbAdapter(); 
$sql = "select * from users"; 
$result = $db->fetchAll($sql); 

echo "<table border='1'> 
    <tr> 
    <th>ID</th> 
    <th>Firstname</th> 
    <th>Lastname</th> 
    <th>Email</th> 
    <th>Username</th> 
    <th>Password</th> 
    </tr> 
"; 

while($row = mysql_fetch_array($result)){ 
    echo "<tr>"; 
    echo "<td>" . $row['id'] . "</td>"; 
    echo "<td>" . $row['firstname'] . "</td>"; 
    echo "<td>" . $row['lastname'] . "</td>"; 
    echo "<td>" . $row['email'] . "</td>"; 
    echo "<td>" . $row['username'] . "</td>"; 
    echo "<td>" . $row['password'] . "</td>"; 
    echo "</tr>"; 
    } 
echo "</table>"; 

我想这一点,但我收到此错误: -

Warning: mysql_fetch_array() expects parameter 1 to be resource, array given in /var/www/datashow/application/controllers/IndexController.php on line 35 
+0

'$ result'是您正在寻找的实际结果。只需循环浏览并输出结果即可。这不是资源。你不必使用任何类型的获取功能 –

回答

5

Zend_Db的不返回的MySQL结果对象。在使用Zend_Db抽象层时,您不会使用MySQL的函数;您改用Zend的函数。在这种情况下,findAll已将数据作为数组返回。

+0

:)所以我能做什么我是zend框架中的新手 – John

+0

@root:你是什么意思?您已经拥有数组中的数据。 –

+0

是的,我有,但现在我怎么能打印数据 – John

0

@root:

您已经取出使用$result = $db->fetchAll($sql); 那为什么u使用while($row = mysql_fetch_array($result))结果呢?

我建议你首先检查一下你的$ result变量有哪些数据,使用print_r($result)。 然后您可以使用foreach或其他有效循环来回显值。

foreach($result as $resultItems){ // echo value in $resultItems} 
0
foreach($result as $row){ 
    echo "<tr>"; 
    echo "<td>" . $row['id'] . "</td>"; 
    echo "<td>" . $row['firstname'] . "</td>"; 
    echo "<td>" . $row['lastname'] . "</td>"; 
    echo "<td>" . $row['email'] . "</td>"; 
    echo "<td>" . $row['username'] . "</td>"; 
    echo "<td>" . $row['password'] . "</td>"; 
    echo "</tr>"; 
    } 
+1

XSS是最好的! :) –