PHPでSqlite3を使おう(PDO)

Sqlite3、手軽で移行も楽で良いですよね。

PHPでPDOを使ってDBに接続するときいつも忘れてしまうのでメモ。

function db_connect($sql){
	try{
		$pdo=new PDO('sqlite:/path/db');//ここにSqlite3のファイルを指定
		$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
		$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
		$stmt=$pdo->prepare($sql);
		$stmt->execute();
		$result=$stmt->fetchAll();
		unset($pdo);unset($stmt);
		return $result;
	}catch(Exception $e){echo $e->getMessage().PHP_EOL;}
}

DB作成
オートインクリメントの書き方もいつも忘れるのでメモ。

$sql='CREATE TABLE table(
	id INTEGER PRIMARY KEY AUTOINCREMENT,
	title varchar(255),
	contents text,
	status INTEGER
)';
db_connect($sql);

最後に、テーブルの存在を確認したいときのメモ。

$sql='SELECT count(*) FROM sqlite_master WHERE type="table" AND name="table"';
$res=db_connect($sql);
var_dump($res);
Posted in PHP

Codiadでログインを省略する

ブラウザベースのIDE、「Codiad
インストールも手軽でとても気にってます。

が、raspberrypiなどローカルでメモ帳代わりに使ったりするときにいちいちログインするのが面倒だったので
省略できないかなぁと思って色々やってみました。

シュッとしたやり方が見つからなかったのですが(汗)

〇やり方その1

codiad/data/users.phpの中にあるユーザーデータを見る。


codiad/components/userclass.user.phpに上のログイン情報を追記

public function Authenticate()
{
    $pass = false;
    $this->EncryptPassword();
    $users = getJSON('users.php');

    /* --- 追記 --- */
    $this->username='ユーザー名';
    $this->password='ハッシュされたパスワード';
    /* --- /追記 --- */
 

こうするとログイン画面で何も入力せず、ログインボタンを押すだけでログインできる。

〇やり方その2
カッコ悪いけど・・・
codiad/index.phpのformにログイン情報を書いて、jQueryで自動サブミットしてしまえ。
下記の部分を






・
・
・

↓のように書き換え






・
・
・



これで0.5秒で自動ログインしてくれます。
スマートなやりかたではありませんが(汗)