试图从数据库中获取信息

时间:2016-01-26 12:01:17

标签: php sql-server

我试图通过cost获取有关数据库itemsname的信息,并尝试获取错误Resource id #5

我的数据库看起来像: enter image description here

我的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;
?>

2 个答案:

答案 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