2011-05-16 73 views
0

结果这是我的代码:库MySQLi不返回从数据库

<?php 

include('config.php'); 

$mysqli = new mysqli($db['host'], $db['user'], $db['pass'], $db['name']); 
if ($mysqli->connect_error) 
    throw new Exception('Couldn\'t connect to MySQL: ' . $mysqli->connect_error); 

// Check for a ID parameter 
if(isset($_GET['id']) && !empty($_GET['id'])) 
{ 
    $skinId = (int)$_GET['id']; 

    // Build a query to get skin info from the database 
    $stmt = $mysqli->prepare('SELECT name, description, author, timestamp, url FROM `skins` WHERE id=?'); 
    $stmt->bind_param('i', $skinId); 

    // Execute query 
    $stmt->execute(); 
    $stmt->bind_result($result['name'], $result['desc'], $result['auth'], $result['time'], $result['url']); 

    echo $result['name']; 
} else { 
    // Show a 404 page 
    echo "bad"; 
} 

$mysqli->close(); 

?> 

当这样跑,我没有得到任何结果回来。当我尝试时,我可以验证$skinId的确拥有有效的皮肤ID,并且它不是一个空变量。当我使用phpMyAdmin在本地主机上运行相同的语句时,我会得到正确的行,并返回查询中请求的所有信息。当我做print_r($result)我得到这个:

Array 
(
    [name] => 
    [desc] => 
    [auth] => 
    [time] => 
    [url] => 
) 

任何人都知道是怎么回事?提前致谢。 :)

+0

确定该ID是在数据库? – ircmaxell 2011-05-16 17:05:43

回答

1

你应该做的$ stmt->,以便从数据库到你的结果阵列获取数据后,$ stmt-> fetch()方法bind_result命令

+0

该死的!知道它会是简单的事情。谢谢 :) – Josh 2011-05-16 17:08:27