Re: [請益] 一個簡單的語法請問 謝謝
※ 引述《goodtau (goodtau)》之銘言:
: 不好意思打擾了
: if($_POST["comm"] == "推薦此店家" and $oldip!=$ip or $sec>$oldsec+600){
: $sSql="UPDATE `store` SET `store_recommend` = 'store_recommend+1' WHERE
: `store_phone`='$p'";
: $result=mysql_query($sSql,$link);
: }
: 我想要做一個按了推薦按鈕
: 然後資料表內的推薦數就會+1
: 我翻了好幾本書
: 還是不知道為什麼我這樣寫
: 推薦數沒辦法+1
: 麻煩請大家指教了
: 謝謝
在mysql中, 有時資料表名稱或欄位名稱上不小心使用到關鍵字的話
在sql語法中會出錯
所以, 可以用`資料表`.`欄位` 來表示
以免發生錯誤
在此篇裡
$sSql="UPDATE `store` SET `store_recommend` = 'store_recommend+1' WHERE
`store_phone`='$p'";
`store_recommend` = 'store_recommend+1'
`store_recommend` 是欄位名稱 = 'store_recommend+1' <--這就是字串了
不管在PHP或是SQL語法裡, 用'(單引號)包起來的東西, 都是字串
假如 store_recommend 資料型態若是 int 時,
你若讓他等於 'store_recommend+1', 會是 0
所以, 你應該改成 `store_recommend` = `store_recommend` + 1
請注意到 ` 跟 ' 的不同
另外,在使用mysql時, 請善用 mysql_error() 來除錯
希望你在學PHP跟SQL語法時不要只會照著書打
要懂的他的用法,這樣在學習上才有幫助!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.124.82.43
※ 編輯: lazyhome 來自: 122.231.232.57 (04/23 20:53)
推
04/23 23:26, , 1F
04/23 23:26, 1F
→
04/24 02:56, , 2F
04/24 02:56, 2F
推
04/24 08:49, , 3F
04/24 08:49, 3F
→
04/24 09:42, , 4F
04/24 09:42, 4F
※ 編輯: lazyhome 來自: 122.231.232.57 (04/24 09:42)
推
04/25 00:54, , 5F
04/25 00:54, 5F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章