MySQL没有提取正确的数据?(PHP)

The*_*ter 6 php mysql

这很简单.编辑:更新了问题并添加了第四个回声.

这是PHP代码:

<?php

$ratings="3";
$item="Inception";

$query="SELECT * FROM items WHERE item = '". $item ."' LIMIT 1";

echo $query;

echo "<br />";

$result=mysql_query($query);

echo $result;

echo "<br />";

while ($row = mysql_fetch_array($result)) { 
    $item_id = $row['item_id'];
    echo $item_id;
    echo "<br />";
 }  

  $query_two = "INSERT INTO ratings (rating, item_id), VALUES (' {$ratings} ', ' {$item_id} ')";

  echo $query_two;
  $sql = mysql_query($query_two);
  mysql_close();
?>
Run Code Online (Sandbox Code Playgroud)

这是带有所有echo的web输出:

SELECT * FROM items WHERE item = 'Inception' LIMIT 1
Resource id #7


INSERT INTO ratings (rating, item_id), VALUES (' 3 ', ' ')
Run Code Online (Sandbox Code Playgroud)

为什么我的$ item_id是空白的?(资源ID下面的第三行)

Zbi*_*iew 5

这部分代码产生了它:

$result=mysql_query($query);

echo $result;
Run Code Online (Sandbox Code Playgroud)

它显示Resource...因为它是资源类型,它只是一种特殊的查询处理程序,它不像普通类型(例如字符串或int),所以它没有任何可读性.

如果要从查询中打印数据,则必须首先获取它.

另请注意,mysql_*不推荐使用这些函数,不鼓励使用它们.php手册中的注释:

不鼓励使用此扩展名.相反,应该使用MySQLi或PDO_MySQL扩展.另请参阅MySQL:选择API指南和相关的常见问题解答以获取更多信息.该功能的替代方案包括:

mysqli_query()

PDO ::查询()