Object: 想在 windows 環境上裝一個 apache + mysql + php 的環境以取代之前的 iis + SQLServer + php, 算是棄暗投明吧 XD

 
1. 做了一些調研,裝了 XAMPP v5.6.8 (xampp-win32-5.6.8-0-VC11-installer.exe)
     1.1 apache 網站的根目錄在 c:\xampp\htdocs
     1.2 php 執行檔的目錄在 c:\xampp\php, 放到PATH中
     1.3 mysql 執行檔的目錄在 c:\xampp\mysql\bin, 放到PATH中
 
2. 有個 XAMPP control panel v3.2.1 看來挺好用
     2.1 按 apache 的 start, apache up and running, 開網頁試 http://localhost/index.html 跟 http://localhost/index.php
     2.2 按 mysql 的 start, mysql up and running, 開cmd寫個 phpinfo.php (<?php phpinfo(); ?>), 分別用 command line 試 (php phpinfo.php), 還有開瀏覽器試 (http://localhost/phpinfo.php)
     2.3 按 mysql 的 admin, 瀏覽器自動打開了個 phpMyAdmin的控制台, 原來root沒密碼, 挺危險的
     2.4 在 phpMyAdmin 下 SQL command: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

     2.5 關掉 phpMyAdmin 的網頁, 在XAMPP control panel 再按一次 mysql 的 admin, 這次進不去了, 糟?

     2.6 先按 mysql 的 stop, 修改 c:\xampp\phpmyadmin\config.inc.php 裡面 root 的 password 為剛剛在console打進去的密碼('MyNewPass'), 再按mysql 的 start 重開 mysql
     2.7 按 mysql 的 admin 又可以進去了歐耶, 雖然這樣root就有了密碼, 但我還是對那個明文寫密碼的 config.inc.php 有點疑慮.....
 
3. 在 phpMyAdmin 試試看 mysql 的指令
     3.1 CREATE DATABASE stockDB
     3.2 USE stockDB
     3.3 CREATE TABLE iddata ( id VARCHAR(10) NOT NULL, name VARCHAR(20) CHARACTER SET big5, type VARCHAR(20) CHARACTER SET big5, code VARCHAR(20) CHARACTER SET big5, ondate DATE, offdate DATE)
     3.4 INSERT INTO iddata (id,name,type,code,ondate,offdate) VALUES ('1101', '台泥', '上市', '水泥工業', '1962/02/09', NULL)
 
4. 寫個 mysqlTest.php 程式試試看能不能 access mysql, 程式如下, 分別用 command line 試 (php mysqlTest.php), 還有開瀏覽器試 (http://localhost/mysqlTest.php)
 


<?php

header ('Content-Type: text/html; charset=big5');

if(!function_exists("iconv"))
{
   function iconv($from, $to, $string)
   {
      $converted = htmlentities($string, ENT_NOQUOTES, $from);
      $converted = html_entity_decode($converted, ENT_NOQUOTES, $to);
      return $converted;
   }
}

$dbhost = '127.0.0.1';
$dbuser = 'root';
$dbpass = 'MyNewPass';
$dbname = 'stockDB';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error with MySQL connection');

mysql_query("SET NAMES 'big5'");
mysql_select_db($dbname);

$sql = "SELECT * FROM iddata WHERE 1";
$result = mysql_query($sql) or die('MySQL query error');
while($row = mysql_fetch_array($result)){
     echo $row['id'], "<br>";
     echo $row['name'], "<br>";
     echo $row['type'], "<br>";
     echo $row['code'], "<br>";
     echo $row['ondate'], "<br>";
     echo $row['offdate'], "<br>";

     if ($row['name'] == iconv("UTF-8","big5","台泥"))
     {
          echo "yes, it's ", iconv("UTF-8","big5","台泥"), "<br>";
     }
     else
     {
          echo "no, it's not ", iconv("UTF-8","big5","台泥"), "<br>";
     }
}

?>
 
 
又多了個明文寫密碼的地方, 有對策請交流, 感恩
文章標籤
全站熱搜
創作者介紹
創作者 ysyang21 的頭像
ysyang21

小魚缸

ysyang21 發表在 痞客邦 留言(0) 人氣(1,691)