1、數(shù)據(jù)庫用的是否是Mysql 5.2.X?
創(chuàng)新互聯(lián)公司長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為江達(dá)企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì),江達(dá)網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
2、如果是,檢查你的變量是否有空值?
3、如果變量有空值,給變量賦值,或者把在數(shù)據(jù)庫里給個默認(rèn)值,或者直接把字段的NULL設(shè)置為“是”
PHP語法吸收了C語言、Java和Perl的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。以下是為大家分享的php變量定義方法,供大家參考借鑒,歡迎瀏覽!
1.定義常量define("CONSTANT", "Hello world.");
常量只能包含標(biāo)量數(shù)據(jù)(boolean,integer,float 和 string)。
調(diào)用常量時,只需要簡單的用名稱取得常量的值,而不能加“$”符號,如:echo CONSTANT;
注: 常量和(全局)變量在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。
2.普通變量$a = "hello";
3.可變變量(使用兩個美元符號($))
$$a = "world";
兩個變量都被定義了:
$a 的內(nèi)容是“hello”并且 $hello 的內(nèi)容是“world”。
因此,可以表述為:
echo "$a ${$a}";或者 echo "$a $hello";它們都會輸出:hello world
要將可變變量用于數(shù)組,必須解決一個模棱兩可的問題。這就是當(dāng)寫下 $$a[1] 時,解析器需要知道是想要 $a[1] 作為一個變量呢,還是想要 $$a 作為一個變量并取出該變量中索引為 [1] 的值。解決此問題的語法是,對第一種情況用 ${$a[1]},對第二種情況用 ${$a}[1]。
4.靜態(tài)變量
在函數(shù)內(nèi)部static $a = 0;
注意:聲明中用表達(dá)式的結(jié)果對其賦值會導(dǎo)致解析錯誤如static $a =3+3;(error)
靜態(tài)變量僅在局部函數(shù)域中存在(函數(shù)內(nèi)部),函數(shù)執(zhí)行完之后,變量值不會丟失,可用于遞歸調(diào)用
5.全局變量
在函數(shù)體內(nèi)定義的global變量,函數(shù)體外可以使用,在函數(shù)體外定義的global變量不能在函數(shù)體內(nèi)使用,在全局范圍內(nèi)訪問變量可以用特殊的 PHP 自定義 $GLOBALS 數(shù)組:
如:$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
在一個函數(shù)域內(nèi)用 global 語句導(dǎo)入的一個真正的全局變量實(shí)際上是建立了一個到全局變量的引用
global $obj;
注:對于變量的 static 和 global 定義是以 應(yīng)用 的方式實(shí)現(xiàn)的
6.給變量賦值:傳地址賦值(簡單引用):
$bar = $foo; //加符號到將要賦值的變量前
改動新的變量將影響到原始變量,這種賦值操作更加快速
注意:只有命名變量才可以傳地址賦值
注意:如果
$bar = $a;
$bar = $foo;
改變$bar的值只能改變變量foo的值,而不改變a的值(引用改變了)
7.PHP 超全局變量$GLOBALS : 包含一個引用指向每個當(dāng)前腳本的全局范圍內(nèi)有效的變量。該數(shù)組的鍵標(biāo)為全局變量的 名稱。從 PHP 3 開始存在 $GLOBALS 數(shù)組。
$_SERVER : 變量由 Web 服務(wù)器設(shè)定或者直接與當(dāng)前腳本的執(zhí)行環(huán)境相關(guān)聯(lián)。類似于舊數(shù)組 $HTTP_SERVER_VARS 數(shù)組(依然有效,但反對使用)。
$_GET : 經(jīng)由 HTTP GET 方法提交至腳本的變量。
$_POST : 經(jīng)由 HTTP POST 方法提交至腳本的變量。
$_COOKIE : 經(jīng)由 HTTP Cookies 方法提交至腳本的變量。
$_FILES : 經(jīng)由 HTTP POST 文件上傳而提交至腳本的變量。
文件上傳表單中要有 enctype="multipart/form-data"
$_ENV : 執(zhí)行環(huán)境提交至腳本的變量。
$_REQUEST :經(jīng)由 GET,POST 和 COOKIE 機(jī)制提交至腳本的.變量,因此該數(shù)組并不值得信任。所有包含在該數(shù)組中的變量的存在與否以及變量的順序均按照 php.ini 中的 variables_order 配置指示來定義。該數(shù)組沒有直接模擬 PHP 4.1.0 的早期版本。參見 import_request_variables()。
注意: 自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。
$_SESSION :當(dāng)前注冊給腳本會話的變量。
如何禁用phpinfo():
php.ini中
disable_functions = phpinfo()
重啟web服務(wù)器。
php中的常量
常量只能用define(常量名,常量值);
常量只能包含標(biāo)量數(shù)據(jù)(boolean,integer,float 和 string)。
可以簡單的通過指定其名字來取得常量的值,不要在常量前面加上 $ 符號。如果常量名是動態(tài)的,也可以用函數(shù)
constant() 來讀取常量的值。用 get_defined_constants() 可以獲得所有已定義的常量列表。
注: 常量和(全局)變量在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。
如果使用了一個未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字符串調(diào)用它一樣(CONSTANT 對應(yīng) "CONSTANT")。此時將發(fā)出一個 E_NOTICE 級的錯誤。參見手冊中為什么 $w3sky[bar] 是錯誤的(除非事先用 define() 將 bar 定義為一個常量)。如果只想檢查是否定義了某常量,用 defined() 函數(shù)。
常量和變量不同:
* 常量前面沒有美元符號($);
* 常量只能用 define() 函數(shù)定義,而不能通過賦值語句;
* 常量可以不用理會變量范圍的規(guī)則而在任何地方定義和訪問;
* 常量一旦定義就不能被重新定義或者取消定義;
* 常量的值只能是標(biāo)量。
定義常量
?PHP
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
?
我理解的肯定也不怎么對,獻(xiàn)丑!。
引用不是指針,引用只是引用了內(nèi)容,而指針就是地址,引用的也是地址。他的內(nèi)容在地址里邊。改變了指針后,指針指向的內(nèi)容并沒變,而如果改變了引用,那么內(nèi)容就跟著改變了(一般情況)。
用unset解釋:
?phpbr
$a
=
1;
$b
=
$a;
unset($a);
?
這里按照指針來理解的話,unset了$a,就是注銷$a的地址,而內(nèi)容‘1’是綁定在$a這個地址上的,那么echo
$b就成了空值,而其實(shí)他的值還是1;就是說
unset
一個引用,只是斷開了變量名和變量內(nèi)容之間的綁定。這并不意味著變量內(nèi)容被銷毀了
你可以參考php手冊,引用的解釋
以下來自php手冊
引用是什么
在
PHP
中引用意味著用不同的名字訪問同一個變量內(nèi)容。這并不像
C
的指針,替代的是,引用是符號表別名。注意在
PHP
中,變量名和變量內(nèi)容是不一樣的,因此同樣的內(nèi)容可以有不同的名字。最接近的比喻是
Unix
的文件名和文件本身――變量名是目錄條目,而變量內(nèi)容則是文件本身。引用可以被看作是
Unix
文件系統(tǒng)中的
hardlink。
PHP
的引用允許用兩個變量來指向同一個內(nèi)容。意思是,當(dāng)這樣做時:
?phpbr
$a
=
$b;
?
這意味著
$a
和
$b
指向了同一個變量。
Note:
$a
和
$b
在這里是完全相同的,這并不是
$a
指向了
$b
或者相反,而是
$a
和
$b
指向了同一個地方。
Note:
如果具有引用的數(shù)組被拷貝,其值不會解除引用。對于數(shù)組傳值給函數(shù)也是如此。
不行的,變量是要加大括號的,或者使用字符串連接符連接2個字符串。
1如果你的$meal是一個變量、mealnum是字符型的數(shù)據(jù)的列,就這樣寫:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum=‘{$meal}’");
2如果你的$meal是一個變量、mealnum是數(shù)字型的數(shù)據(jù)的列,就這樣寫:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum={$meal}");注意大括號外沒單引號。
3如果你的$meal就職一個字符串、mealnum是字符型的數(shù)據(jù)的列,就這樣寫:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum=‘\$meal’");
4如果你的$meal就職一個字符串、mealnum是數(shù)字型的數(shù)據(jù)的列,那么就會錯誤了;
另外:
你已經(jīng)說了$meal是一個字符型,所以就必須加兩個單引號,如果是數(shù)字型就不需要單引號。
可以用特殊字符串代替,比如$zhi保存到數(shù)據(jù)庫中后,然后取出來,再用變量去替換$zhi這個字符串即可。
當(dāng)前題目:php數(shù)據(jù)操作中有變量,PHP變量使用之前需要定義變量類型
轉(zhuǎn)載注明:http://chinadenli.net/article14/hedpge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)公司、微信小程序、域名注冊、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)