[請益] 資料庫字串的長度怎麼算?

看板PHP作者 (...)時間13年前 (2010/12/12 21:57), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
我要寫一個網站監控程式。 在公司的server裡,寫一支簡單的jsp檔並連結資料庫: SQL語法: select CURRENT_DATE 以今天為例,抓出來的內容是 2010-12-12 然後我自己的電腦也有架apache server,寫一支php檔並做一個工作排程: 1.用curl函數去執行前面那個url,會得到 2010-12-12 這個字串 2.設定 某變數 = date("Y-m-d") 以今天為例,內容一樣是 2010-12-12 3.然後那支php檔去比對這兩個字串內容,只要內容一樣, 就表示網站還活著。 奇怪的是,秀出來都是一樣的內容,都是 2010-12-12 這幾個字, 但是比對結果就是不一樣。 後來用strlen();去看,長度竟然不一樣?? 用curl執行的結果,長度是 21 用 data函數執行的結果,長度是 10 怎麼會這樣?? monitor.php: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://abc.com/test.jsp"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $testdata1 = curl_exec($ch); curl_close($ch); $testdata2 = date("Y-m-d"); echo $testdata1; echo '<BR>"; echo $testdata2; echo strlen($testdata1);; echo '<BR>';` echo strlen($testdata2); if($testdata1 == $testdata2){ echo '網站還活著'; } 順便附上 test.jsp 的內容 String sql = "select CURRENT_DATE;"; ResultSet rs = stmt.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); rs.next(); out.print(rs.getString(rsmd.getColumnName(1))); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.171.80

12/12 21:59, , 1F
咦 你 echo 出來的都是 $testdata1 XD
12/12 21:59, 1F

12/12 22:01, , 2F
貼文章的時候打錯…已修正
12/12 22:01, 2F
※ 編輯: siebergx 來自: 114.42.171.80 (12/12 22:02)

12/12 22:30, , 3F
你是用瀏覽器去看jsp印出來的東西嗎?說不定有多印別的東西
12/12 22:30, 3F

12/12 22:31, , 4F
如果是用瀏覽器的話…用檢視原始碼看看到底印什麼東西吧
12/12 22:31, 4F

12/12 22:32, , 5F
其實就算字串長度不一樣,你只要知道testdata1的日期的10個
12/12 22:32, 5F

12/12 22:32, , 6F
字元在第幾個到第幾個,你可以用substr去處理...
12/12 22:32, 6F

12/12 22:32, , 7F
因為你沒附真正jsp的網址,沒人可以跟你說問題在哪...
12/12 22:32, 7F
對耶。 用原始碼看,長這樣: ---------------- 2010-12-12 ---------------- 所以用這樣就成功了: $testdata = curl_exec($ch); $testdata1 = substr($testdata,7,10); 謝謝 ※ 編輯: siebergx 來自: 114.42.171.80 (12/12 22:41)
文章代碼(AID): #1D1DI-Uf (PHP)