如何賦值給PHP函數。我有這樣的代碼:PHP將變量賦值給函數
<?php
$val_id = "010105";
function get_news()
{
$query = mysql_query"SELECT * FROM news WHERE val_id = '$val_id'";
}
當我查詢該函數時,$ val_id的值不能發送到函數get_news。所以結果是空的。
請幫助解決這個問題。謝謝
如何賦值給PHP函數。我有這樣的代碼:PHP將變量賦值給函數
<?php
$val_id = "010105";
function get_news()
{
$query = mysql_query"SELECT * FROM news WHERE val_id = '$val_id'";
}
當我查詢該函數時,$ val_id的值不能發送到函數get_news。所以結果是空的。
請幫助解決這個問題。謝謝
這是一個範圍問題。 $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();
不錯......現在按我的意願工作。謝謝埃德 – hiDayurie
很高興幫助! –
您需要通過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()
提供。
試試這個!
get_news(「010105」);
功能get_news($ val_id)
{
$查詢=請求mysql_query 「SELECT * FROM消息WHERE val_id = '$ val_id'」;
}
請允許我介紹一個比較成熟的版本。
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();
havr你試過把varibale放在函數裏面嗎? –