Php 提供的参数不是有效的MySQL链接资源

Php 提供的参数不是有效的MySQL链接资源,php,mysql,function,warnings,Php,Mysql,Function,Warnings,可能重复: 我在尝试运行函数时遇到此错误。我正在向该函数发送一个值$id,并尝试返回关联的数组。但是我得到一个警告,提供的参数不是有效的MySQL链接资源 但是,如果我通过删除函数部分来运行相同的代码,并为$id提供一个静态值,它将正确返回结果。这就是函数 <?php mysql_select_db($database_spyware, $spyware); function get_product($id) { $query = sprintf(

可能重复:

我在尝试运行函数时遇到此错误。我正在向该函数发送一个值
$id
,并尝试返回关联的数组。但是我得到一个警告,
提供的参数不是有效的MySQL链接资源

但是,如果我通过删除函数部分来运行相同的代码,并为
$id
提供一个静态值,它将正确返回结果。这就是函数

<?php
    mysql_select_db($database_spyware, $spyware);
    function get_product($id)
    {
        $query = sprintf("select product.descr as product_descr, product_id as Product_id,
                          category.descr as category from sp_url
                          inner join product
                          on product.id = sp_url.product_id
                          inner join category
                          on product.category_id = category.id
                          where sp_url.id = $id");

        $query_result = mysql_query($query, $spyware) or die(mysql_error());
        $row_rs_query = mysql_fetch_assoc($query_result);
        $totalRows_rs = mysql_num_rows($query_result);
        return($row_rs_query);
    }
?>

发生这种情况是因为函数“mysql\u query”中的第二个参数间谍软件在函数外部声明,并且在函数范围内不可读

试一试

全球美元间谍软件

在函数的开头


或者将第二个参数保留为空。

当您将其馈送到函数时,
$id
分配了什么值?它是从文件中获取的整数值!非常感谢。它起作用了。。现在我会记住它。或者,为了避免使用全局参数,您可以将
$spyware
作为第二个参数提供给函数。例如,
函数获取产品($id,$spyware)