關於PHP一D語法

2013-08-15 1:57 am
各位師兄:

我想問下例如係PHP 呢類型既語句 入面 個 variable 係有咩用 ?

小弟 google search 了很久也找不到滿意的答案


// create and issue the first query

$add_topic_sql = "INSERT INTO forum_topics
(topic_title, topic_create time)
VALUES(' " .$clean_topic_title ." ' , now() ) " ;

呢D CODE意思大概係將之前 form 接到的data upload 上DATABASE

但我唔明點無端端要 起一個variable $add_topic_sql 呢 ?

個variable 有到底有乜用 ? 唔直接咁樣 ?

INSERT INTO forum_topics
(topic_title, topic_create time)
VALUES(' " .$clean_topic_title ." ' , now() ) ;


其實除左呢到之外,我仲見到有好多其他地方都會無拉拉起個 variable 黎用,例如:

$add_post_res = mysqli_query($mysqli, $add_post_sql) // 唔太明呢個function係做咩
or die(mysqli_error($mysqli));

同埋佢就咁create 一個 table 都要 開個 variable

$sql = " CREATE TABLE testTable( id INT .........)

到底用意何在呢 ?



同埋 想隨便問埋師兄 好似神魔之塔入面 同好友聊天 個D 係大概點樣寫出來 ?



非常感激 !!!

回答 (3)

2013-08-15 3:32 am
✔ 最佳答案
呢位同學唔係點解咁麻煩,係因為對於編程語法係一個問題,另外係個伺服器安排係另一個問題。
語法我不談,但要講給你聽係PHP和SQL是由兩個完全獨立的伺服器處理。獨立的意思係指程序和邏輯上,實體上可能在同一部電腦,也可以在兩部電腦。
你寫的PHP指令是控制程式流程,而把資料插到DATABASE,所有指令並非PHP的部份,所以指令都要放入一個VARIABLE,然後PASS到SQL伺服器處理。大部份情況,PHP會配用MYSQL伺服器,但也可和其他SQL伺服器,例如ORACLE,MSSQL等,這時,你傳送的SQL語法可以會有點不相同。但對PHP指令是完全不變。
你提及的INSERT,CREATE TABLE,UPDATE等都是SQL,所以都會放到VARIABLE,不是獨立句子。
你要參考SQL句法,則要看MYSQL的說明,PHP不會包含任何資料。
另外一提是,所有放到SQL句子的VARIABLE都會變成STRING。所以你會句子會把VARIABLE的內容插到SQL字串。句子會很麻煩的轉來轉去。
2013-08-15 9:49 pm
佢打錯O者, 佢堆野好似係FOR MYSQL 用架喎
直頭SHOW 埋MYSQL QUERY
2013-08-15 4:34 am
不如咁 用埋個例子黎做example 可能會清楚好多

例如
$get_topics_sql = " SELECT topic_id, topic_title,
DATE_FORMAT( topic_create_time, '%b %e %Y at %r') AS
fmt_topic_create_time, topic_owner FROM forum_topics

2013-08-14 20:34:21 補充:
ORDER BY topic_create_time DESC";

$get_topics_res = mysqli_query($mysqli , $get_topics_sql)
or die(mysqli_error($mysqli));

2013-08-14 20:35:45 補充:
因為字數限制 所以分開左 請見諒

但原果係呢個 example 入面 個 variable 個用處係咩 ?
邊到傳左指令俾 MYSQL

THZ THZ


收錄日期: 2021-04-13 19:38:20
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20130814000051KK00274

檢視 Wayback Machine 備份