Monthly Archives: 10月 2016

php入門–PDOでトランザクション処理を行うサンプル

phpコード
try {
$dbh = new pdo(‘mysql:host=localhost;dbname=dbtest’, ‘root’, “);
$dbh->query(‘set names utf8;’);
$dbh->setattribute(pdo::attr_errmode, pdo::errmode_exception);
$dbh->begintransaction();
$dbh->exec(“insert into sentbl.table (name ,age)values (‘aa’,11);”);
$dbh->exec(“insert into sentbl.table (name ,age)values (‘bb’, 12);”);
$dbh->exec(“insert into sentbl.table (name ,age)values (‘cc’,13);”);
$dbh->commit();
} catch (exception $e) {
$dbh->rollback();
echo “insert failed: ” . $e->getmessage();
}

PHPでPDOを使ってMySQLに接続するサンプル

phpコード:
$dsn = ‘mysql:dbname=ent;host=172.17.20.100′;
$user = ‘root’;
$password = ‘jz345pwd′;
try {
$dbh = new pdo($dsn, $user, $password, array(pdo::attr_persistent => true));
$dbh->query(‘set names utf8;’);
foreach ($dbh->query(‘select * from yutbl’) as $row) {
print_r($row);
}
} catch (pdoexception $e) {
echo ‘connection failed: ‘ . $e->getmessage();
}

phpでbackup_tablesを使ってmysqlのテーブルをバックアップする

参考コード:
<?php
backup_tables(‘localhost’,’startnews24user’,’startnews24pwd’,’blog’,’*’);

function backup_tables($host,$user,$pass,$name,$tables = ‘*’){
$return = “”;
$link = mysql_connect($host,$user,$pass);
mysql_select_db($name,$link);

if($tables == ‘*’)
{
$tables = array();
$result = mysql_query(‘SHOW TABLES’);
while($row = mysql_fetch_row($result))
{
$tables[] = $row[0];
}
}
else
{
$tables = is_array($tables) ? $tables : explode(‘,’,$tables);
}

foreach($tables as $table)
{
$result = mysql_query(‘SELECT * FROM ‘.$table);
$num_fields = mysql_num_fields($result);

$return.= ‘DROP TABLE ‘.$table.’;’;
$row2 = mysql_fetch_row(mysql_query(‘SHOW CREATE TABLE ‘.$table));
$return.= “\n\n”.$row2[1].”;\n\n”;

for ($i = 0; $i < $num_fields; $i++)
{
while($row = mysql_fetch_row($result))
{
$return.= ‘INSERT INTO ‘.$table.’ VALUES(‘;
for($j=0; $j<$num_fields; $j++)
{
$row[$j] = addslashes($row[$j]);
$row[$j] = ereg_replace(“\n”,”\\n”,$row[$j]);
if (isset($row[$j])) { $return.= ‘”‘.$row[$j].'”‘ ; } else { $return.= ‘””‘; }
if ($j<($num_fields-1)) { $return.= ‘,’; }
}
$return.= “);\n”;
}
}
$return.=”\n\n\n”;
}

$handle = fopen(‘db-backup-‘.time().’-‘.(md5(implode(‘,’,$tables))).’.sql’,’w+’);
fwrite($handle,$return);
fclose($handle);
}
?>

Pythonでランダムな文字列を作成するサンプル

コード下記

import os, math
from base64 import b64encode
randStr = lambda n: b64encode(os.urandom(int(math.ceil(0.75*n))),’-_’)[:n]

for x in xrange(5):
print randStr(10)

IEでのAjaxリクエスト(GET)のキャッシュを対応方法まとめ

①URL+”&”+”t=”+Math.random();

②”?timestamp=” + new Date().getTime();

③$.ajaxSetup({cache:false})

同一画面で複数バージョンjQueryを呼び出すサンプル

参考コード
<script src=”jquery-1.7.1.js”></script>
<script src=”jquery-1.12.4.js”></script>
<script>
console.log($().jquery); // => ‘1.12.4’
var $jq = jQuery.noConflict(true);
console.log($().jquery); // => ‘1.7.1’
</script>
<script src=”yourscript.js”></script>

 

「php入門」フォルダおよびファイルを削除する

サンプルコード

function deldir($path)
{
if ($handle=opendir($path))
{
while (false!==($file=readdir($handle)))
{
if ($file<>”.” AND $file<>”..”)
{
if (is_file($path.’/’.$file))
{
@unlink($path.’/’.$file);
}
if (is_dir($path.’/’.$file))
{
deldir($path.’/’.$file);
@rmdir($path.’/’.$file);
}
}
}
}
}

3 / 3123