PHP函数:如何将值发送到html

PHP函数:如何将值发送到html,php,mysql,Php,Mysql,我有一个从MySQL数据库中检查新闻文件的功能: function check_Files($id){ $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); if (count($files) > 0) { foreach($files as $file){ $url = $file['u

我有一个从MySQL数据库中检查新闻文件的功能:

function check_Files($id){

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        foreach($files as $file){
            $url = $file['url'];
        return TRUE;
        }

    } else
    {
        return FALSE;
    }

}
function check_Files($id){

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        $urls = array();
        foreach($files as $file){
            $urls[] = $file['url'];
        }
        return $urls;
    } else {
        return FALSE;
    }

}

if (($urls = check_Files($id)) !== false){

    foreach ($urls as $url) {
        echo $url;
    }

}
HTML:

if(check_Files($id) == TRUE){

echo $url;

}
但我看到了这个错误:

Notice: Undefined variable: url in ......
我如何将
$url
从函数返回/发送到html

而不是

return TRUE;
检查\u文件
功能中,执行以下操作:

return $url;
并按以下方式使用:

if (($url = check_Files($id)) !== false){

    echo $url;

}
或从数据库传递URL数组:

function check_Files($id){

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        foreach($files as $file){
            $url = $file['url'];
        return TRUE;
        }

    } else
    {
        return FALSE;
    }

}
function check_Files($id){

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        $urls = array();
        foreach($files as $file){
            $urls[] = $file['url'];
        }
        return $urls;
    } else {
        return FALSE;
    }

}

if (($urls = check_Files($id)) !== false){

    foreach ($urls as $url) {
        echo $url;
    }

}
试验可简化为:

if ($urls = check_Files($id)){}
而不是

return TRUE;
检查\u文件
功能中,执行以下操作:

return $url;
并按以下方式使用:

if (($url = check_Files($id)) !== false){

    echo $url;

}
或从数据库传递URL数组:

function check_Files($id){

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        foreach($files as $file){
            $url = $file['url'];
        return TRUE;
        }

    } else
    {
        return FALSE;
    }

}
function check_Files($id){

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        $urls = array();
        foreach($files as $file){
            $urls[] = $file['url'];
        }
        return $urls;
    } else {
        return FALSE;
    }

}

if (($urls = check_Files($id)) !== false){

    foreach ($urls as $url) {
        echo $url;
    }

}
试验可简化为:

if ($urls = check_Files($id)){}
这是关于。在函数中,$url存在。在功能之外,它不再存在。您最好返回URL,而不是true/false:

function check_Files($id){

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        foreach($files as $file){
            $url = $file['url'];
        return $url;
        }

    } else
    {
        return FALSE;
    }

}
然后在代码外部,您可以这样调用它:

$link=check_Files($id);
echo $link;
或者干脆

echo check_Files($id);
这是关于。在函数中,$url存在。在功能之外,它不再存在。您最好返回URL,而不是true/false:

function check_Files($id){

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        foreach($files as $file){
            $url = $file['url'];
        return $url;
        }

    } else
    {
        return FALSE;
    }

}
然后在代码外部,您可以这样调用它:

$link=check_Files($id);
echo $link;
或者干脆

echo check_Files($id);
和html格式

if (($url = check_Files($id)) != false){

    echo $url;

}
和html格式

if (($url = check_Files($id)) != false){

    echo $url;

}

函数是否在调用的同一文件中定义??因为错误似乎是您试图输出一个尚未定义的变量。 更好的方法是

function check_Files($id){

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        foreach($files as $file){
            $url = $file['url'];
        return $url
        }

    } else
    {
        return FALSE;
    }

}

if(check_Files($id) != FALSE){

echo check_Files($id);

}

函数是否在调用的同一文件中定义??因为错误似乎是您试图输出一个尚未定义的变量。 更好的方法是

function check_Files($id){

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        foreach($files as $file){
            $url = $file['url'];
        return $url
        }

    } else
    {
        return FALSE;
    }

}

if(check_Files($id) != FALSE){

echo check_Files($id);

}

在函数内部将$url设置为全局,并在函数上方定义$url,这样只有您才能获得$url

$url="";

function check_Files($id){
    global $url;

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        foreach($files as $file){
            $url = $file['url'];
        return TRUE;
        }

    } else
    {
        return FALSE;
    }

}

if(check_Files($id) == TRUE){
    echo $url;
}

检查一下自己,好好享受吧

在函数内部将$url设置为全局,并在函数上方定义$url,这样只有您才能获得$url

$url="";

function check_Files($id){
    global $url;

    $files = sqlaccess::fetch("SELECT url FROM ".FILES." WHERE news_id=".$id." AND type = 'video' "); 

    if (count($files) > 0) {
        foreach($files as $file){
            $url = $file['url'];
        return TRUE;
        }

    } else
    {
        return FALSE;
    }

}

if(check_Files($id) == TRUE){
    echo $url;
}

检查一下自己,好好享受吧

您的
sqlaccess
类后面是什么样的数据库库?它们可能返回属性值:
$file->url
您正在使用循环获取url,并且可能有多个url?您的代码可能容易受到SQL注入的攻击。如果可能,使用PDO@Tangs:这是带有自定义代码的
PDO
)嗯,看起来您没有使用PDO库中的任何参数绑定代码。。。好吧,只要
$id
文件
经过适当的清理,我想没关系。您的
sqlaccess
类后面是什么样的数据库库?它们可能返回属性值:
$file->url
您正在使用循环获取url,并且可能有多个url?您的代码可能容易受到SQL注入的攻击。如果可能,使用PDO@Tangs:这是带有自定义代码的
PDO
)嗯,看起来您没有使用PDO库中的任何参数绑定代码。。。嗯,只要
$id
文件
经过适当的消毒,我想就可以了。