2014-07-14 54 views
-1

我面临着mysql_fetch_assoc功能的问题没有,我需要用PHP mysql_fetch_assoc功能来获取数据库中的数据,但它是返回任何结果(空白页),下面是我的代码:mysqli_fetch_assoc返回在屏幕上

功能:

function confirm_query($watever){ 
    global $connection; 
    if (!$watever) { 
     die("Database query failed! " . mysqli_error($connection)); 
    } 

} 


function find_admin(){ 
    global $connection; 

    $query = "select * from admins "; 
    $query .= "order by username asc"; 

    $admin_set = mysqli_query($connection, $query); 
    confirm_query($admin_set); 
    return $admin_set; 

} 

管理页面:

<?php $connection = mysqli_connect($host, $name, $password, $db); ?> 
<?php $admin_set = find_admin(); ?> 

<table> 
     <tr> 
      <th style="text-align: left; width: 200px;">Username:</th> 
      <th colspan="2" style="text-align: left;">Action:</th> 
     </tr> 
     <?php while($admin = mysqli_fetch_assoc($admin_set)) { ?> 
     <tr> 
      <td><?php echo htmlentities($admin["username"]);?></td> 
      <td><a href="edit_admin.php?id=<?php echo urldecode($admin["id"]); ?>">Edit</a></td> 
      <td><a href="delete_admin.php?id=<?php echo urldecode($admin["id"]); ?>" onclick="return confirm('Are you sure');">Delete</a></td> 
     </tr> 
     <?php }?> 
    </table> 
+1

什么是'confirm_query'? – Sadikhasan

+0

嗨, 谢谢,confirm_query是一个功能检查连接: function confirm_query($ watever){ global $ connection;如果(!$ watever){ die(“Database query failed!”。mysqli_error($ connection)); } } – babydragon86

+0

您确定'admin_set'实际上包含任何数据吗? '的print_r($ admin_set);退出;'在'mysqli_query'行后面 – Alex

回答

0

chek your $ connection variable

相同的代码的结果。

http://gnuhacker.cafe24.com/qna/24730379.php

Souce Code。

http://gnuhacker.cafe24.com/qna/24730379.phps

<?PHP 
/*** 
Database Schema : Mysql 5.1.45 

CREATE TABLE IF NOT EXISTS `admins` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `username` varchar(50) NOT NULL, 
    `password` varchar(50) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; 

INSERT INTO `admins` (`id`, `username`, `password`) VALUES (1, 'test1', 'test1'), (2, 'test2', 'test2'); 

***/ 
//$connection = mysqli_connect("localhost","username","password","database") or die("Error " . mysqli_error($connection)); 


$host = "localhost"; 
$name = "user"; 
$db = "database"; 
$password ="password"; 
function confirm_query($watever){ 
    global $connection; 
    if (!$watever) { 
     die("Database query failed! " . mysqli_error($connection)); 
    } 
} 

function find_admin(){ 
    global $connection; 

    $query = "select * from admins "; 
    $query .= "order by username asc"; 

    $admin_set = mysqli_query($connection, $query); 
    confirm_query($admin_set); 
    return $admin_set; 
} 
?> 
<?php $connection = mysqli_connect($host, $name, $password, $db); ?> 
<?php $admin_set = find_admin(); ?> 

<table> 
<tr> 
    <th style="text-align: left; width: 200px;">Username:</th> 
    <th colspan="2" style="text-align: left;">Action:</th> 
</tr> 
<?php while($admin = mysqli_fetch_assoc($admin_set)) { ?> 
<tr> 
    <td><?php echo htmlentities($admin["username"]);?></td> 
    <td><a href="edit_admin.php?id=<?php echo urldecode($admin["id"]); ?>">Edit</a></td> 
    <td><a href="delete_admin.php?id=<?php echo urldecode($admin["id"]); ?>" onclick="return confirm('Are you sure');">Delete</a></td> 
</tr> 
<?php }?> 
</table> 
+1

我想出了问题,非常感谢:D – babydragon86

+0

'mysqli_connect()'will ** never **返回'假'所以你的'或die()'是无用的 – Phil

+0

@Phil ok,在这个URL [mysqli.connect-error.php](http://php.net/manual/en/mysqli.connect-error。 PHP) – minias

-1

的问题可能与下面的代码

$admin_set = mysqli_query($connection, $query); 

它应该像下面的代码

$admin_set = mysqli_query($query,$connection); 

首先,你需要指定查询,然后它的连接。

+0

嗨, 谢谢你的回应。我已经更改为$ admin_set = mysqli_query($ query,$ connection);它扔了错误。 – babydragon86

+0

可能要检查那个文档〜http://php.net/manual/mysqli.query.php – Phil