MySQL」タグアーカイブ

無料サーバー「ぶっとびねっと」にWordPressを使う

無料レンタルサーバは、無料で気軽に使えるのはいいのだが、環境状況が結構な問題だったりする。

今回のbuttobi.netは一定の負荷がかかると
『High load CGI detected.』
と出て処理を停止するようになっているんだが、このボーダーがかなり低い。
インストール・使用共に、このネックになってくる。
公式には使えるって書いてるんだけども…

使うための手順を記載しておく。
※2012年現在の状況。自己責任でどうぞ。
続きを読む

PHP4とMySQL4でのwordpress

レンタルサーバが必ずしも最新の状態とは限らない。

特にフリーサーバって個人の勉強で何かしたものが多いから、
その個人の管理者が忙しくなったらその状態で放置ってことが多々あって、
環境がよくなるのって早々なかったりする。

本音PHP4のサーバは避けたいトコロなんですけどねー
仕事で相手が『ここで!』と言うのであれば、こちらとしてはやらざるを得ない。

そこで最悪、PHP4、MySQL4の状態のサーバを借りた状態でのwordpressを設置するためのメモ。
続きを読む

phpMyAdminでテーブルコピー

dumpみたいなもん
「old_DB」のコピーを「new_DB」という名前で作りたいとする。

phpMyAdminで「old_DB」を選択
→「操作」タブを押下
→「データベースをコピー コピー先」に「new_DB」と入力。
→「構造とデータ」を選択、他も値の追加の設定
→実行

としたときに

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL serve version for the right syntax to use near '1001 DEFAULT CHARSET = sjis' at line 10

なんてエラーが出たとしてもとらねばならんときの対応方
続きを読む

phpMyAdminで文字コードを変更

携帯サイトを作るにあたり、大体無難にSJISを使う。
正しくはSJIS-WINというものなのだが。
だからDBもSJIS。

MySQL4.X・phpMyadmin4.X系はSJIS管理がしやすくなってるが、
今更このバージョンはないかなぁと思うが、
MySQL5からはphpMyAdminのデフォルトver5.X系だから、UTF-8がデフォルト。
形も変わってるしで管理しづらくなっちゃうのね。

でもテスト環境作るのに、わざわざバージョンダウンしたくないし、
環境設定も変えたくない の 対応策。

解決策

mySQLにログインして

show variables like "char%";

で文字コードを確認したら明らかだったので、my.cnfを変更。
MySQLのcharsetをutf8に変更する方法
※my.cnfがない場合があるが、なければ作って大丈夫。
つまるとこphpMyadminの文字化け対応だね。

SET NAMES cp932;

とテーブルの文字コードの変更を忘れずに!
続きを読む

PHPによるDB接続の基本

『PEARによるODBC』『DBC関数』
『Microsoft SQL Server関数』『MySQL関数』。
他は順次追加。

PEARによるODBC

require_once "DB.php";
require_once "DB/odbc.php";

// DSNを設定(使用DB://USER:PASS@HOST/TABLE)
$dsn = "mysql://admin:passwd@localhost/AAA";

// DBへ接続
$db = DB::connect($dsn);

// エラーチェック
if(DB::isError($db)){
	echo "DB接続エラー:".DB::errorMessage($db)."<br/>";
}

// テーブルのフィールド名が直接添字として使用可能になる
$db->setFetchMode(DB_FETCHMODE_ASSOC);

// SQLを実行
$sql = "SELECT * FROM BBB";
$result = $db->query($sql);

// テーブルの中身を表示
print("<table>");
while($row = $result->fetchRow()){
	print("<tr>");
	print("<td>".$row["aaa"]."</td>");
	print("<td>".$row["bbb"]."</td>");
	print("</tr>");
}
print("</table>");

// 件数
print($result->numRow()."件");

// DB接続切断
$db->disconnect();

PEARによるODBC補足

『DB::isError($db)』は『PEAR::isError($db)』、
『DB::errorMessage($db)』は『$db->getMessage()』、
でも良い様子。

if (PEAR::isError($db)) {
	die($db->getMessage());
}
$db->setFetchMode(DB_FETCHMODE_ASSOC);

をしない場合、$row[0]、$row[1]…となる。
続きを読む