mysql_query()显示包含的PHP函数的错误

vin*_*inu 0 php mysql

我有两个文件:

cart_function.php

function get_product_name($pid){
    $result = mysql_query("SELECT product_name FROM product_table WHERE product_id='".$pid."'", $link);
    $row = mysql_fetch_array($result);
    return $row['product_name'];
}
Run Code Online (Sandbox Code Playgroud)

cart.php

<?php
    include('cart_function.php');
    $pid = $_GET['product_id'];
    $pname = get_product_name($pid);
    echo $pname;
?>
Run Code Online (Sandbox Code Playgroud)

执行后cart.php,它显示错误

提供的参数不是有效的MySQL-Link资源'

如果我直接在MySQL数据库中运行查询,它可以完美地工作.如果我get_product_name()直接使用该功能cart.php,它再次无法正常工作.但是,如果我删除该函数并使用下面的代码,它的工作原理如下:

<?php
    $pid = $_GET['product_id'];
    $result = mysql_query("SELECT product_name FROM product_table WHERE product_id='".$pid."'",$link);
    $row = mysql_fetch_array($result);
    $pname = $row['product_name'];
    echo $pname;
?>
Run Code Online (Sandbox Code Playgroud)

为什么?

Yog*_*har 5

问题出在这里:

function get_product_name($pid){
    $result = mysql_query("SELECT product_name FROM product_table WHERE product_id='".$pid."'",
                          $link);
Run Code Online (Sandbox Code Playgroud)

你已经写过了$link,但没有提供它的价值.您必须在传递值时在函数参数中传递此$pid值,如下所示:

function get_product_name($pid,$link){
Run Code Online (Sandbox Code Playgroud)