2011-05-16 71 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