这是我的代码:
<?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在localhost上运行相同的语句时,我得到了正确的行,其中包含查询中请求的所有信息。当我print_r($result)
时,我得到了这个:
Array
(
[name] =>
[desc] =>
[auth] =>
[time] =>
[url] =>
)
任何人都知道发生了什么事吗?提前致谢。 :)
答案 0 :(得分:1)
你应该在$ stmt-&gt; bind_result命令之后执行$ stmt-&gt; fetch(),以便将数据从数据库提取到结果数组