如何为PHP函数赋值。我有这样的密码:
<?php
$val_id = "010105";
function get_news()
{
$query = mysql_query"SELECT * FROM news WHERE val_id = '$val_id'";
}当我查询该函数时,来自$val_id的值不能发送到函数get_news。所以结果是空的。
请帮忙解决这个问题。谢谢
发布于 2014-07-26 05:15:44
这是一个范围界定问题。$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();发布于 2014-07-26 05:15:28
您需要将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()的局部变量使用。
发布于 2014-07-26 05:37:42
请允许我介绍一个更成熟的版本。
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();https://stackoverflow.com/questions/24967778
复制相似问题