Php MySQL无法获取正确的数据?(菲律宾)
这很直截了当。 编辑:更新问题并添加第四个回音 以下是PHP代码:Php MySQL无法获取正确的数据?(菲律宾),php,mysql,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 />"; whi
<?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();
?>
为什么我的$item\u id是空的?(资源id下面的第三行)这与数据库中的id无关
这(
Result#7
)表示此结果资源是php脚本执行创建的第七个资源。这部分代码生成它:
$result=mysql_query($query);
echo $result;
它显示Resource…
,因为它是类型,它只是查询的一种特殊处理程序,它不像普通类型(例如string或int),所以它没有可读性可打印
若要打印查询中的数据,则必须首先获取数据
还请注意,那些mysql.*
函数已被弃用,不鼓励使用它们。php手册中的注释:
不鼓励使用此扩展名。相反,MySQLi或PDO_MySQL
应使用扩展名。另请参见MySQL:选择API指南和
有关更多信息,请参阅相关常见问题解答。此功能的替代方案
包括:
mysqli_查询()
PDO::query()
资源ID来自MySQL查询所在的实际进程/对象 要返回您需要的结果,请执行以下操作:
$row = mysql_fetch_array( $query );
echo $row['item']
您需要对结果资源执行一些操作。试试这个:
$result=mysql_query($query);
//echo $result;
$result_array = mysql_fetch_assoc( $result );
print_r( $result_array );
编辑:我看到你更新了你的问题
您应该直接在MySQL中运行您的item='Inception'
查询,以确认结果是否符合您的预期。
$query_two = "INSERT INTO ratings (rating, item_id), VALUES (' {$ratings} ', ' {$item_id} ')";
应该是
$query_two = "INSERT INTO ratings (rating, item_id) VALUES (' {$ratings} ', ' {$item_id} ')";
在值之前有逗号
另外,$item\u id
似乎为空。请检查数据库是否有项='Inception'
的数据
关于,结果#7
请按照其他人的答案回答。你不能重复这么简单的结果。您需要将结果提取到例如数组:
while ($row = mysql_fetch_array($query)) {
echo $row['a_column'] . "<br />";
}
有更多的方法,但这只是两个例子,资源来自echo$result代码>,你认为那里会发生什么?我从错误的角度问这个问题。回答了我自己的问题。为什么$items\u id为空?因为它应该是$item_id——一个输入错误。但每个人都回答了我最初的问题。谢谢空白>代码> ITEMIDID<代码>的另一个可能原因:可能没有匹配查询条件的行。
while ($row = mysql_fetch_array($query)) {
echo $row['a_column'] . "<br />";
}
while ($variable = mysql_fetch_object($query) {
$value = $variable->a_column;
}
echo $value;