这很简单.编辑:更新了问题并添加了第四个回声.
这是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下面的第三行)
这部分代码产生了它:
$result=mysql_query($query);
echo $result;
Run Code Online (Sandbox Code Playgroud)
它显示Resource...因为它是资源类型,它只是一种特殊的查询处理程序,它不像普通类型(例如字符串或int),所以它没有任何可读性.
如果要从查询中打印数据,则必须首先获取它.
另请注意,mysql_*不推荐使用这些函数,不鼓励使用它们.php手册中的注释:
不鼓励使用此扩展名.相反,应该使用MySQLi或PDO_MySQL扩展.另请参阅MySQL:选择API指南和相关的常见问题解答以获取更多信息.该功能的替代方案包括:
mysqli_query()
PDO ::查询()