access-control-allow-origin: * を出力して JavaScript から自由に読み込めるようにしています。 fetch_all を使用してJSON 文字列を一括で取得しています。
<?php
error_reporting( E_ALL & ~E_NOTICE );
session_cache_limiter('nocache');
session_start();
// 取得対象列
$list = "社員コード,氏名,フリガナ,所属,性別,作成日,更新日,給与,ifnull(手当,0) as 手当,ifnull(管理者,'') as 管理者";
// json encode オプション
$flg = 0x0000;
// JavaScript ajax 用
header( "Access-Control-Allow-Origin: *" );
header( "Content-Type: application/json; charset=utf-8" );
// DB 接続
$mysqli = new mysqli('サーバ', 'ユーザ', 'パスワード', 'データーベース');
if ( $mysqli->connect_error ) {
// 接続失敗
$json = array( "error" => "Connect Error ({$mysqli->connect_errno}) {$mysqli->connect_error}" );
}
else {
// json encode オプション
if ( $_GET["pretty"] != "no" ) {
$flg = $flg | JSON_PRETTY_PRINT;
}
if ( $_GET["escape"] != "no" ) {
$flg = $flg | JSON_UNESCAPED_UNICODE;
}
$mysqli->set_charset("utf8");
// ~E_NOTICE なので、単純化
if ( $_GET["name"] == "" ) {
$query = "select {$list} from 社員マスタ";
}
else {
$query = "select {$list} from 社員マスタ";
// 条件オプション
$query .= " where 氏名 like ?";
}
// SQL 準備
$stmt = $mysqli->prepare($query);
if ( $stmt === false ) {
// SQL 失敗
$json = array( "error1" => "$mysqli->error : {$query}" );
}
else {
// バインドは変数で
$param = "%{$_GET["name"]}%";
// パラメータの数が一致しない場合の warning を出さない為の @ 抑制
@$stmt->bind_param('s', $param );
if ( false === $stmt->execute() ) {
$json = array( "error2" => "$mysqli->error" );
}
else {
// MySQL ネイティブドライバ限定(PHP 5.3.0 以降)
$result = $stmt->get_result();
if ( $result === false ) {
$json = array( "error3" => "$mysqli->error" );
}
else {
// DB 読み出し成功
$json = $result->fetch_all( MYSQLI_ASSOC );
}
}
}
}
print json_encode( $json, $flg );
?>
|
|
【PHPの最新記事】
- PHP で cURL はオプションが全て。いろいろあるので、ちょっとまとめ【2014/7/31の記事】
- PHP : 画像を返す処理( readfile ) と画像を縮小する処理( GD )
- PHP における標準的なテスト用アップロードのテンプレート
- ImageMagick を Windows(32ビット)の PHP で利用する
- PHPで、ベタベタな日付チェック。汎用的とも言うw
- PHP でカタカナのフリガナ入力のチェック
- TCPDF で罫線を引く
- フリーフォントを使って PHP 画像(GD)として埋め込むアクセスカウンターの DB 処理部分
- フリーフォントを使って PHP 画像(GD)として埋め込むアクセスカウンターの画像出力部分の作成
- PHP + GD : 四角形への DropShadow
- PHP : ログインとブラウザの当日日付データ
- hash_hmac は秘密鍵があるので、辞書の総当りとかでパスワードは解りませんから。パスワード抜かれるのは、フィッシングがスパイウェアか、本人が口に出した場合ですね。
- すごく当たり前の事なんですが、UTF-8N で保存されたテキストファイルをメモ帳で変更して保存したら先頭に EF BB BF という爆弾が仕掛けられるのでダメですよ
- 5秒毎にリロードする PHP ページ
- 実用的かどうかは置いておいて、修正画面の日付入力に jQuery のカレンダーを使用する
- PHPで使用する為にフォント(.TTC)の分解
- PHP : GD で Windows のビットマップを扱う
- 【PHP】 <?=$value?> ではない変数埋め込み手法
- PHPでサービス停止( extension=php_com_dotnet.dll )
- PHP : コマンドライン php(cli) で10進数と16進数の変換




























