[PHP x SQLite3]PHPでSQLite3 #2テーブル作成

PHPでSQLite3 #2テーブル作成

$tableName="access";
$sql="create table if not exists $tableName (id INTEGER PRIMARY KEY AUTOINCREMENT, name varchar(6), title text, cnt int)";
$result=$db->query($sql);
if ($result===FALSE) {
	$db->close();
	echo $message;
	exit;
}
$db->close();

[PHP]substr

substr

$str='abcd';
echo substr($str,1,2);

結果

bc

$str='abcd';
echo substr($str,0,-1);

結果

abc

$str='abcd';
echo substr($str,-1);

結果

d

[PHP]ファイルアップロードの設定

formでファイルをアップロードするときのファイルサイズの設定は2ヶ所
・upload_max_filesize
・post_max_size
upload_max_filesizeの値以上の容量のファイルをアップするとエラーになる。
post_max_sizeの値以上の容量のファイルをアップすると、おかしな動きをしてエラーを検知出来ない。

参考
PHP: エラーメッセージの説明 – Manual
http://php.net/manual/ja/features.file-upload.errors.php

[CakePHP 2.x]DBを切替える

DB設定を記述する。

Config/database.php

public $default = array(
	'datasource' => 'Database/Mysql',
	'persistent' => false,
	'host' => 'localhost',
	'login' => 'ktyr',
	'password' => 'ktyrps',
	'database' => 'ktyrdb',
	'prefix' => '',
	'encoding' => 'utf8',
);
public $testdb = array(
	'datasource' => 'Database/Mysql',
	'persistent' => false,
	'host' => 'localhost',
	'login' => 'ktyr',
	'password' => 'ktyrps',
	'database' => 'ktyrtestdb',
	'prefix' => '',
	'encoding' => 'utf8',
);

DBを切替える。
各Model内で切替える場合。

/* testdbに切替える */
$this->setDataSource('testdb');

/* defaultに切替える */
$this->setDataSource('default');

[CakePHP 2.x]トランザクション

各Model内

/* トランザクションスタート */
$dataSource=$this->getDataSource();
$result=$dataSource->begin();

/* コミット */
$result=$dataSource->commit();

/* ロールバック */
$result=$dataSource->rollback();

AppModel.phpに下記のようにするのもいいかもね。

public function begin(){
  return $this->getDataSource()->begin();
}
public function commit(){
  return $this->getDataSource()->commit();
}
public function rollback(){
  return $this->getDataSource()->rollback();
}

[PHP]配列演算

配列演算


PHP

$a = array('a' => 'b','c'=>'d','e'=>'f' );
$b = array('g' => 'h','i'=>'j','k'=>'l','a'=>'あ' );
$c = $a+$b;
foreach ($c as $key => $value) {
	echo $key.' : '.$value.'<br/>';
}

出力結果

 'b','c'=>'d','e'=>'f' );
$b = array('g' => 'h','i'=>'j','k'=>'l','a'=>'あ' );
$c = $a+$b;
foreach ($c as $key => $value) {
	echo $key.' : '.$value.'
'; } ?>

PHP

$a = array('a' => 'b','c'=>'d','e'=>'f' );
$b = array('g' => 'h','i'=>'j','k'=>'l','a'=>'あ' );
$c=array_merge($a,$b);
foreach ($c as $key => $value) {
	echo $key.' : '.$value.'<br/>';
}

出力結果

 'b','c'=>'d','e'=>'f' );
$b = array('g' => 'h','i'=>'j','k'=>'l','a'=>'あ' );
$c=array_merge($a,$b);
foreach ($c as $key => $value) {
	echo $key.' : '.$value.'
'; } ?>

PHP

$a = array('a','b','c');
$b = array('d','e','f','g');
$c = $a+$b;
foreach ($c as $key => $value) {
	echo $key.' : '.$value.'<br/>';
}

出力結果

 $value) {
	echo $key.' : '.$value.'
'; } ?>

PHP

$a = array('a','b','c');
$b = array('d','e','f','g');
$c=array_merge($a,$b);
foreach ($c as $key => $value) {
	echo $key.' : '.$value.'<br/>';
}

出力結果

 $value) {
	echo $key.' : '.$value.'
'; } ?>

下記はエラーになる。

$c = $a-$b;
$c = $a*$b;
$c = $a/$b;