PHP错误:";提供的参数不是“中的有效MySQL结果资源”;

PHP错误:";提供的参数不是“中的有效MySQL结果资源”;,php,mysql,Php,Mysql,因此,我写了我的第一个PHP网站与网络商店。我已经编写了一段代码,假设选择包含一个类别的所有产品的产品数据库,然后使用相同的product\u id显示图像,选择正面图片 代码如下: <?PHP include_once "db.php"; $result = "(select * FROM products WHERE product_type = 'weddingdressaline') inner join (select * FROM images WHERE postion =

因此,我写了我的第一个PHP网站与网络商店。我已经编写了一段代码,假设选择包含一个类别的所有产品的产品数据库,然后使用相同的
product\u id
显示图像,选择正面图片

代码如下:

<?PHP
include_once "db.php";

$result = "(select * FROM products WHERE product_type = 'weddingdressaline') inner join (select * FROM images WHERE postion = 'front') images on products.product_id = images.product_id";

while($row = mysql_fetch_array($result)) {
    $content = $row['image'];
    header('Content-type: image/jpg');
    echo $content;
    echo $row['price'];
}

mysql_free_result($result);
mysql_close();
?> 

您没有将查询发送到SQL数据库-它只是一个字符串。您需要在其上调用
mysql\u query
,如下所示:

$result = mysql_query("(select * FROM products WHERE product_type = 'weddingdressaline') inner join (select * FROM images WHERE postion = 'front') images on products.product_id = images.product_id");

正如Pekka指出的,您也应该检查错误。

您缺少了
mysql\u查询。
$result
行应为以下内容:

$result = mysql_query($your_query_here);

您没有查询您的数据库

$result = mysql_query("(select * FROM products WHERE product_type = 'weddingdressaline') inner join (select * FROM images WHERE postion = 'front') images on products.product_id = images.product_id");
while ($row = mysql_fetch_array($result))
{
$content = $row['image'];
header('Content-type: image/jpg');
echo $content;
echo $row['price'];
}

您忘记使用mysql\u query()


欢迎来到堆栈溢出!您没有进行任何错误检查。您需要在调用
mysql\u query()
后执行此操作,如果发生错误,请使用
mysql\u error()
输出错误。否则,如果查询失败,脚本将中断。如何做到这一点,请参见本@Pekka:you see a
mysql\u query
call?;)@既然你这么说了,迷你们!:)(尼尔,关于错误检查的建议仍然适用)1。SQL查询中存在错误。2.您不能使用
header()
然后回显文本(浏览器将需要一个jpeg图像)。它的可能重复仍然是一个不好的示例,因为它不检查错误。只需说“@Pekka:是的,它并没有逃逸输出(当然,它是一个JPEG),而且查询仍然以一种糟糕的方式编写;)为你的帮助干杯,我现在已经成功了。我把它剥离到基本的基础上,使它工作,但现在已经进行了错误检查。但为你的帮助干杯。
$result = mysql_query("(select * FROM products WHERE product_type = 'weddingdressaline') inner join (select * FROM images WHERE postion = 'front') images on products.product_id = images.product_id");