如何为PHP函数赋值。我有这样的代码:
<?php
$val_id = "010105";
function get_news()
{
$query = mysql_query"SELECT * FROM news WHERE val_id = '$val_id'";
}
当我查询该函数时,$ val_id中的值无法发送到函数get_news。结果是空的。
请帮助解决这个问题。感谢
答案 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()
的局部变量使用。
答案 1 :(得分: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();
答案 2 :(得分:0)
试试这个!
get_news( “010105”);
function get_news($ val_id)
{
$ query = mysql_query“SELECT * FROM news WHERE val_id ='$ val_id'”;
}
答案 3 :(得分: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();