真烦人未定义的变量错误

时间:2013-02-06 00:18:55

标签: php mysql sql

所以我有以下代码

$query=mysql_query("SELECT * FROM `phones` JOIN manufacturer USING (ManufacturerID) JOIN operatingsystem USING (OSID) WHERE PhoneID=$id");
$row=mysql_fetch_object($query);
echo mysql_error();

while($row=mysql_fetch_array($result))
{ ?>
<div class="phones">
<?php
echo "<img src=\"images/phones/".$row['LargeImg']."\"/>";
echo "<h2>";
echo "$row->Name $row->Model";
echo "</h2>";
echo "<p>";
echo "<ul>";
echo "<li>Running $row->OSName</li>";
echo "<br />";
echo "<li>$row->ScreenSize Display</li>";
echo "<br />";
echo "<li>$row->StorageSize of Storage</li>";
echo "</p>";
echo "</ul>";
?>
</div>
<?php
}
mysql_close($con);
?>

我收到错误 注意:未定义的变量:导致第43行的phone-details.php警告:mysql_fetch_array()期望参数1为资源,在第43行的phone-details.php中给出null

我想要它做的是在产品的详细信息旁边显示图像(产品详细信息之前正在工作,但之后我试图让图像正常工作并且它已经坏了)。文件名存储在名为LargeImg的字段中,图像文件本身存储在images / phones文件夹中。我将如何解决此问题,以便错误消失并显示数据库中每条记录的图像?代码越简单越好。

感谢。

2 个答案:

答案 0 :(得分:0)

使用$query变量作为mysql_fetch_array的参数。该参数必须是mysql_query引用。

这里永远不会定义

$result ..

答案 1 :(得分:0)

$row=mysql_fetch_object($query);
echo mysql_error();

while($row=mysql_fetch_array($result))

无论使用mysql_ *函数,您都可以使用它们。 $ result未定义。它什么都没有。 Usualy人们常常做类似的事情:

$result = mysql_query("QUERY");
while($row=mysql_fetch_array($result)){
//do stuff
}

你正在混淆我的朋友的功能。另外请不要使用mysql_ *函数,因为它们已被弃用! :)