我试图通过cost
获取有关数据库items
中name
的信息,并尝试获取错误Resource id #5
我的set.php
<?php
$sitename = "localhost";
$link = mysql_connect("localhost", "root", "");
$db_selected = mysql_select_db('csgo', $link);
mysql_query("SET NAMES utf8");
function fetchinfo($rowname,$tablename,$finder,$findervalue) {
if($finder == "1") $result = mysql_query("SELECT $rowname FROM $tablename");
else $result = mysql_query("SELECT $rowname FROM $tablename WHERE `$finder`='$findervalue'");
$row = mysql_fetch_assoc($result);
return $row[$rowname];
}
?>
我的代码来获得成本
<?php
$item = $_GET['item'];
$item = str_replace("\"", "", $item);
$item = str_replace("\'", "", $item);
$item = str_replace(" ", "%20", $item);
$item = str_replace("\\", "", $item);
@include_once ("set.php");
$item_cost = mysql_query("SELECT cost FROM items WHERE name='$item'");
echo $item_cost;
?>
答案 0 :(得分:1)
首先,停止使用mysql_*
并开始使用mysqli_*
,检查http://php.net/manual/en/function.mysql-query.php处的警告
查看本教程http://codular.com/php-mysqli
Resource id #5
不是错误,mysql_query
函数不直接返回SQL查询的输出,它返回一个应该循环的对象,例如
<?php
$sql = 'SELECT * FROM `users` WHERE `live` = 1';
if(!$result = $db->query($sql)){
die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc()){
echo $row['username'] . '<br />';
}
答案 1 :(得分:1)
您正在尝试回显已执行的SQL查询的结果资源。
您已通过此资源,例如到mysql_fetch_array()然后可以遍历那个数组(参见http://php.net/manual/de/function.mysql-query.php)