2014-07-26 185 views
0

如何赋值给PHP函数。我有这样的代码:PHP将变量赋值给函数

<?php 
$val_id = "010105"; 

function get_news() 
{ 
    $query = mysql_query"SELECT * FROM news WHERE val_id = '$val_id'"; 
} 

当我查询该函数时,$ val_id的值不能发送到函数get_news。所以结果是空的。

请帮助解决这个问题。谢谢

+0

havr你试过把varibale放在函数里面吗? –

回答

0

这是一个范围问题。 $val_id是一个全局变量,所以你的函数不知道它,除非你以某种方式告诉它它。你有两个主要选择:

  • $val_id作为参数(推荐):

$val_id = "010105"; 

function get_news($val_id) 
{ 
    $query = mysql_query"SELECT * FROM news WHERE val_id = '$val_id'"; 
} 

get_news($val_id); 
  • 使用$val_id作为一个全球性的(不推荐):

$val_id = "010105"; 

function get_news() 
{ 
    global $val_id; 
    $query = mysql_query"SELECT * FROM news WHERE val_id = '$val_id'"; 
} 

get_news(); 
+0

不错......现在按我的意愿工作。谢谢埃德 – hiDayurie

+0

很高兴帮助! –

0

您需要通过val_id作为该函数的参数。试试这个:

<?php 
$val_id = "010105"; 

function get_news($val_id) { 
    $query = mysql_query("SELECT * FROM news WHERE val_id = $val_id"); 
} 

这是因为你设置val_id功能之外,但它没有设置功能。

通过将它传递给括号,您可以将其作为局部变量get_news()提供。

0

试试这个!

get_news(“010105”);

功能get_news($ val_id)

{

$查询=请求mysql_query “SELECT * FROM消息WHERE val_id = '$ val_id'”;

}

0

请允许我介绍一个比较成熟的版本。

class News 
{ 
    private $value_id; 

    public function News($value_id) { 
     $this->value_id = $value_id; 
    } 

    public function get() 
    { 
     $query = sprintf("SELECT * FROM news WHERE val_id = %d", $this->value_id); 
     return mysql_query($query); 

    } 
} 

$news = new News($val_id); 
$news->get();