'PHP'에 해당되는 글 12건

  1. 2014.12.11 pdo / mysqli 정리
  2. 2013.09.09 구글 로그인
  3. 2013.06.21 codeigniter 1.7에서 GET변수 쓰기
  4. 2013.03.01 mobipicture 이미지 업로드 2
  5. 2013.02.24 트위터 api example 1
  6. 2013.02.24 페이스북 api examples
  7. 2012.08.19 날짜 처리 모음
  8. 2012.07.22 serialize, unserialize 1
  9. 2012.06.12 Vimeo 업로드 동영상
  10. 2012.01.11 cent nginx php-fpm 3

pdo / mysqli 정리

PHP 2014. 12. 11. 18:18

2.2

- pdo_connect

$dsn = 'mysql:host=localhost;dbname=DBNAME';

$db = new PDO($dsn, 'USER', 'PASSWORD', array(

PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"

));



2.3 

- pdo_loop

$sql = "SELECT name, meaning, gender FROM names";

foreach ($db->query($sql) as $row) {

echo $row['name'];

echo $row['meaning'];

echo $row['gender'];

}



2.4

- pdo_fetch

$sql = "SELECT name, meaning, gender FROM names";

$result = $db->query($sql);

while ($row = $result->fetch()) {

echo $row[0];

echo $row['meaning'];

}


- pdo_fetchAll

$sql = "SELECT name, meaning, gender FROM names";

$result = $db->query($sql);

$all = $result->fetchAll(PDO::FETCH_NUM);

print_r($all);


- pdo_fetchColumn

$sql = "SELECT name, meaning, gender FROM names";

$result = $db->query($sql);

while($col = $result->fetchColumn(1)) {

echo $col;

}



2.5

- pdo_rowcount

$sql = "select count(*) FROM names";

$result = $db->query($sql);

$numrows = $result->fetchColumn();


$sql = "SELECT name, meaning, gender FROM names";

$result = $db->query($sql);

$numrows = $result->rowCount();



2.6

- pdo_checkrow

$row = $result->fetch();

if (!$row) {

echo 'No results found';

}



2.7 

- query_insert

$sql = 'INSERT INTO names (name, meaning, gender) VALUES ("William", "resolute guardian", "boy")';

$result = $db->query($sql);

echo $result->queryString; // ==> INSERT INTO names (name, meaning, gender) VALUES ("William", "resolute guardian", "boy")


- exec_delete

$sql = 'DELETE FROM names WHERE name = "William"';

$affected = $db->exec($sql);


- exec_insert

$sql = 'INSERT INTO names (name, meaning, gender) VALUES ("William", "resolute guardian", "boy")';

$affected = $db->exec($sql);



2.8

- pdo_error

try {

$sql = ".....";

$result = $db->query($sql);

$errorInfo = $db->errorInfo();

print_r($errorInfo);

} catch (Exception $e) {

echo $e->getMessage();

}


- pdo_exception

try {

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = ".....";

$result = $db->query($sql);


} catch (Exception $e) {

echo $e->getMessage();

}



2.9 

- pdo_quote

        $searchterm = '%' . $_GET['searchterm'] . '%';

        $sql = 'SELECT name, meaning FROM names WHERE name LIKE ' . $db->quote($searchterm);

        $result = $db->query($sql);


//------------------------------------------


3.2

- pdo_named

        $sql = 'SELECT make, yearmade, mileage, price, description

                FROM cars

                LEFT JOIN makes USING (make_id)

                WHERE make LIKE :make AND yearmade >= :yearmade AND price <= :price

                ORDER BY price';

        $stmt = $db->prepare($sql);

        $stmt->bindValue(':make', '%' . $_GET['make'] . '%');

        $stmt->bindParam(':yearmade', $_GET['yearmade'], PDO::PARAM_INT);

        $stmt->bindParam(':price', $_GET['price'], PDO::PARAM_INT);

        $stmt->execute();

        $errorInfo = $stmt->errorInfo();

$row = $stmt->fetch();


do {

echo $row['make'];

echo $row['yearmade'];

} while ($row = $stmt->fetch());



3.3

- pdo_anonymous

        $stmt = $db->prepare($sql);

        $stmt->bindValue(1, '%' . $_GET['make'] . '%');

        $stmt->bindParam(2, $_GET['yearmade'], PDO::PARAM_INT);

        $stmt->bindParam(3, $_GET['price'], PDO::PARAM_INT);

        $stmt->execute();


3.4

- pdo_named_execute

        $sql = 'SELECT make, yearmade, mileage, price, description

                FROM cars

                LEFT JOIN makes USING (make_id)

                WHERE make LIKE :make AND yearmade >= :yearmade AND price <= :price

                ORDER BY price';

        $stmt = $db->prepare($sql);

        $values = array(':price' => $_GET['price'],

                        ':make' => '%' . $_GET['make'] . '%',

                        ':yearmade' => $_GET['yearmade']);

        $stmt->execute($values);



- pdo_anonymous_execute

        $sql = 'SELECT make, yearmade, mileage, price, description

                FROM cars

                LEFT JOIN makes USING (make_id)

                WHERE make LIKE ? AND yearmade >= ? AND price <= ?

                ORDER BY price';

        $stmt = $db->prepare($sql);

        $stmt->execute(array('%' . $_GET['make'] . '%', $_GET['yearmade'], $_GET['price']));



3.5 

- pdo_output

        $sql = 'SELECT make, yearmade, mileage, price, description

                FROM cars

                LEFT JOIN makes USING (make_id)

                WHERE make LIKE :make AND yearmade >= :yearmade AND price <= :price

                ORDER BY price';

        $stmt = $db->prepare($sql);

        $stmt->bindValue(':make', '%' . $_GET['make'] . '%');

        $stmt->bindParam(':yearmade', $_GET['yearmade'], PDO::PARAM_INT);

        $stmt->bindParam(':price', $_GET['price'], PDO::PARAM_INT);

        $stmt->execute();

        $stmt->bindColumn('make', $make);

        $stmt->bindColumn(2, $year);

        $stmt->bindColumn('mileage', $miles);

        $stmt->bindColumn('price', $price);

        $stmt->bindColumn('description', $desc);

        $errorInfo = $stmt->errorInfo();


$stmt->fetch(PDO::FETCH_BOUND);

do {

echo $make;

echo $year;

} while ($stmt->fetch(PDO::FETCH_BOUND));


- pdo_transaction

$amount = 200;

$payer = 'John White';

$payee = 'Jane Brown';

$debit = 'UPDATE savings SET balance = balance - :amount WHERE name = :payer';

$credit = 'UPDATE savings SET balance = balance + :amount WHERE name = :payee';


$pay = $db->prepare($debit);

$pay->bindParam(':amount', $amount);

$pay->bindParam(':payer', $payer);


$receive = $db->prepare($credit);

$receive->bindParam(':amount', $amount);

$receive->bindParam(':payee', $payee);


$db->beginTransaction();

$pay->execute();

if (!$pay->rowCount()) {

$db->rollBack();

$error = "Transaction failed: could not update $payer's balance.";

} else {

$receive->execute();

if (!$receive->rowCount()) {

   $db->rollBack();

   $error = "Transaction failed: could not update $payee's balance.";

} else {

   $db->commit();

}

}



3.7

- pdo_check_balance

...........................................

// Transaction

$db->beginTransaction();

$pay->execute();

if (!$pay->rowCount()) {

$db->rollBack();

$error = "Transaction failed: could not update $payer's balance.";

} else {

// Check the remaining balance in the payer's account

$check->execute();

$bal = $check->fetchColumn();

$check->closeCursor();


// Roll back the transaction if the balance is negative

if ($bal < 0) {

$db->rollBack();

$error = "Transaction failed: insufficient funds in $payer's account.";

} else {

$receive->execute();

if (!$receive->rowCount()) {

$db->rollBack();

$error = "Transaction failed: could not update $payee's balance.";

} else {

$db->commit();

}

}

}


//====================================


Car.php


4.1

- pdo_array

$sql = 'SELECT name, meaning FROM names';

$result = $db->query($sql);

$names = $result->fetchAll(PDO::FETCH_KEY_PAIR);


/*

==>

Array

(

   [Alice] => noble, light

   [Aubrey] => ruler of elves

   [Harry] => power, ruler

)

*/



4.2

- pdo_fetch_into


$car_id = 18;

$car = new Car($car_id); //<=== DataObject. 첨부파일. 


$sql = 'SELECT * FROM cars LEFT JOIN makes USING (make_id) WHERE car_id = ?';

$stmt = $db->prepare($sql);

$stmt->execute(array($car_id));

$stmt->setFetchMode(PDO::FETCH_INTO, $car);

$stmt->fetch();


// Display the car object

echo $car;



4.3

- pdo_fetch_class

$car_id = 25;


$sql = 'SELECT * FROM cars LEFT JOIN makes USING (make_id) WHERE car_id = ?';

$stmt = $db->prepare($sql);

$stmt->execute(array($car_id));


$stmt->setFetchMode(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, 'Car', array($car_id));

$car = $stmt->fetch();

echo $car;



4.4

- pdo_reuse

$sql = 'SELECT name, meaning FROM names ORDER BY name';

$result = $db->query($sql);

$names = $result->fetchAll(PDO::FETCH_ASSOC);

foreach ($names as $name) {

echo $name['name'];

}


reset($names);


foreach ($names as $name) {

echo $name['meaning'];

}


'PHP' 카테고리의 다른 글

구글 로그인  (0) 2013.09.09
codeigniter 1.7에서 GET변수 쓰기  (0) 2013.06.21
mobipicture 이미지 업로드  (2) 2013.03.01
트위터 api example  (1) 2013.02.24
페이스북 api examples  (0) 2013.02.24
날짜 처리 모음  (0) 2012.08.19
serialize, unserialize  (1) 2012.07.22
Vimeo 업로드 동영상  (0) 2012.06.12
cent nginx php-fpm  (3) 2012.01.11
nginx+mysql +php-fpm 연동 설치 및 nginx.conf 설정  (1) 2012.01.05
Posted by altvirus
,

구글 로그인

PHP 2013. 9. 9. 10:13

http://www.9lessons.info/2012/09/login-with-google-account-oauth.html

'PHP' 카테고리의 다른 글

pdo / mysqli 정리  (0) 2014.12.11
codeigniter 1.7에서 GET변수 쓰기  (0) 2013.06.21
mobipicture 이미지 업로드  (2) 2013.03.01
트위터 api example  (1) 2013.02.24
페이스북 api examples  (0) 2013.02.24
날짜 처리 모음  (0) 2012.08.19
serialize, unserialize  (1) 2012.07.22
Vimeo 업로드 동영상  (0) 2012.06.12
cent nginx php-fpm  (3) 2012.01.11
nginx+mysql +php-fpm 연동 설치 및 nginx.conf 설정  (1) 2012.01.05
Posted by altvirus
,


http://stackoverflow.com/questions/5729924/codeigniter-enabling-query-strings


config.php에서


$config['uri_protocol'] = "PATH_INFO"; // to this

그리고..

parse_str($_SERVER['QUERY_STRING'],$_GET);


해서 살려낸다.


'PHP' 카테고리의 다른 글

pdo / mysqli 정리  (0) 2014.12.11
구글 로그인  (0) 2013.09.09
mobipicture 이미지 업로드  (2) 2013.03.01
트위터 api example  (1) 2013.02.24
페이스북 api examples  (0) 2013.02.24
날짜 처리 모음  (0) 2012.08.19
serialize, unserialize  (1) 2012.07.22
Vimeo 업로드 동영상  (0) 2012.06.12
cent nginx php-fpm  (3) 2012.01.11
nginx+mysql +php-fpm 연동 설치 및 nginx.conf 설정  (1) 2012.01.05
Posted by altvirus
,


mobypicture.php





include "mobypicture.php";

$mp = new Mobypicture;

$r = $mp->getMediaInfo('kxcr13');


//$r1 = $mp->postMedia('9.jpg', 'cine21', '1511');

//$r2 = $mp->getMediaInfo($r1['url']);

print_r($r);


'PHP' 카테고리의 다른 글

pdo / mysqli 정리  (0) 2014.12.11
구글 로그인  (0) 2013.09.09
codeigniter 1.7에서 GET변수 쓰기  (0) 2013.06.21
트위터 api example  (1) 2013.02.24
페이스북 api examples  (0) 2013.02.24
날짜 처리 모음  (0) 2012.08.19
serialize, unserialize  (1) 2012.07.22
Vimeo 업로드 동영상  (0) 2012.06.12
cent nginx php-fpm  (3) 2012.01.11
nginx+mysql +php-fpm 연동 설치 및 nginx.conf 설정  (1) 2012.01.05
Posted by altvirus
,

트위터 api example

PHP 2013. 2. 24. 03:26

https://api.twitter.com/1/related_results/show/172019363942117377.json?include_entities=1

'PHP' 카테고리의 다른 글

pdo / mysqli 정리  (0) 2014.12.11
구글 로그인  (0) 2013.09.09
codeigniter 1.7에서 GET변수 쓰기  (0) 2013.06.21
mobipicture 이미지 업로드  (2) 2013.03.01
페이스북 api examples  (0) 2013.02.24
날짜 처리 모음  (0) 2012.08.19
serialize, unserialize  (1) 2012.07.22
Vimeo 업로드 동영상  (0) 2012.06.12
cent nginx php-fpm  (3) 2012.01.11
nginx+mysql +php-fpm 연동 설치 및 nginx.conf 설정  (1) 2012.01.05
Posted by altvirus
,

페이스북 api examples

PHP 2013. 2. 24. 03:11

유저아이디

$user_id = $facebook->getUser();


내 담벼락 글쓰기.

$a = $facebook->api('/'.$user_id.'/feed','POST',

               array(  'access_token' => $facebook->getAccessToken(),

                 'message' => '이게 사는건가',

                 'link' => 'www.naver.com'

                    )

            );


친구 리스트

$a = $facebook->api('/me/friends');

'PHP' 카테고리의 다른 글

pdo / mysqli 정리  (0) 2014.12.11
구글 로그인  (0) 2013.09.09
codeigniter 1.7에서 GET변수 쓰기  (0) 2013.06.21
mobipicture 이미지 업로드  (2) 2013.03.01
트위터 api example  (1) 2013.02.24
날짜 처리 모음  (0) 2012.08.19
serialize, unserialize  (1) 2012.07.22
Vimeo 업로드 동영상  (0) 2012.06.12
cent nginx php-fpm  (3) 2012.01.11
nginx+mysql +php-fpm 연동 설치 및 nginx.conf 설정  (1) 2012.01.05
Posted by altvirus
,

날짜 처리 모음

PHP 2012. 8. 19. 17:16

* PHP 날짜 처리 모음


 - 현재시간 : 년월일시분초 : 20080702132629

   $strDate = date("YmdHms");


 - 이번 달 : 년월 : 200807

   $strDate = date("Ym");


 - 이번 달 1일

   $strDate   = date("Ymd", mktime(0, 0, 0, intval(date('m')), 1, intval(date('Y'))  ));


 - 이번 달 말일

   $strDate   = date("Ymd", mktime(0, 0, 0, intval(date('m'))+1, 0, intval(date('Y'))  ));


 - 지난 달

   $strDate   = date("Ym", mktime(0, 0, 0, intval(date('m'))-1, intval(date('d')), intval(date('Y'))  ));


 - 지난 달 1일

   $strDate   = date("Ymd", mktime(0, 0, 0, intval(date('m'))-1, 1, intval(date('Y'))  ));


 - 지난 달 말일

   $strDate   = date("Ymd", mktime(0, 0, 0, intval(date('m')), 0, intval(date('Y'))  ));


 - 6개월 전 1일

   $strDate   = date("Ymd", mktime(0, 0, 0, intval(date('m'))-6, 1, intval(date('Y'))  ));

'PHP' 카테고리의 다른 글

구글 로그인  (0) 2013.09.09
codeigniter 1.7에서 GET변수 쓰기  (0) 2013.06.21
mobipicture 이미지 업로드  (2) 2013.03.01
트위터 api example  (1) 2013.02.24
페이스북 api examples  (0) 2013.02.24
serialize, unserialize  (1) 2012.07.22
Vimeo 업로드 동영상  (0) 2012.06.12
cent nginx php-fpm  (3) 2012.01.11
nginx+mysql +php-fpm 연동 설치 및 nginx.conf 설정  (1) 2012.01.05
숫자를 문자들까지 이용해서 길이 줄이기...  (0) 2011.11.17
Posted by altvirus
,

serialize, unserialize

PHP 2012. 7. 22. 14:00

배열 등 변수값을 저장 및 복원이 가능한 혙태로 반환 / 복원


* serialize

$m = array('a'=>111, 'bbb'=>'222');

echo serialize($m);

==> a:2:{s:1:"a";i:111;s:3:"bbb";s:3:"222";}


------------------------------------------------------------------

* unserialize

$str = 'a:2:{s:1:"a";i:111;s:3:"bbb";s:3:"222";}';

$n = unserialize($str);

print_r($n);

==> Array ( [a] => 111 [bbb] => 222 )


'PHP' 카테고리의 다른 글

구글 로그인  (0) 2013.09.09
codeigniter 1.7에서 GET변수 쓰기  (0) 2013.06.21
mobipicture 이미지 업로드  (2) 2013.03.01
트위터 api example  (1) 2013.02.24
페이스북 api examples  (0) 2013.02.24
날짜 처리 모음  (0) 2012.08.19
Vimeo 업로드 동영상  (0) 2012.06.12
cent nginx php-fpm  (3) 2012.01.11
nginx+mysql +php-fpm 연동 설치 및 nginx.conf 설정  (1) 2012.01.05
숫자를 문자들까지 이용해서 길이 줄이기...  (0) 2011.11.17
Posted by altvirus
,

Vimeo 업로드 동영상

PHP 2012. 6. 12. 11:11


http://youtu.be/9m4JORJH7xQ


'PHP' 카테고리의 다른 글

구글 로그인  (0) 2013.09.09
codeigniter 1.7에서 GET변수 쓰기  (0) 2013.06.21
mobipicture 이미지 업로드  (2) 2013.03.01
트위터 api example  (1) 2013.02.24
페이스북 api examples  (0) 2013.02.24
날짜 처리 모음  (0) 2012.08.19
serialize, unserialize  (1) 2012.07.22
cent nginx php-fpm  (3) 2012.01.11
nginx+mysql +php-fpm 연동 설치 및 nginx.conf 설정  (1) 2012.01.05
숫자를 문자들까지 이용해서 길이 줄이기...  (0) 2011.11.17
Posted by altvirus
,

cent nginx php-fpm

PHP 2012. 1. 11. 14:12
http://blog.1day1.org/457 

==========================

2011년 12월 19일

remi 패키지를 이용하는 방법

http://www.if-not-true-then-false.com/2011/install-nginx-php-fpm-on-fedora-centos-red-hat-rhel/

Centos 5 를 기준으로 설명(다른 버전은 위 링크를 참조)

## Remi Dependency on CentOS 5 and Red Hat (RHEL) 5 ##
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
 
## CentOS 5 and Red Hat (RHEL) 5 ## 
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
Epel 과 remi  저장소를 이용한다.

nginx 는 nginx.org 에서 패키지를 제공하는 것 같다.
다음처럼 nginx.org 쪽으로 저장소 지정 (/etc/yum.repos.d/nginx.repo )
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

nginx , php-fpm 그외 php 모듈등을 설치한다.
yum --enablerepo=remi install  nginx php-fpm php-mysql php-gd php php-pear
php-mysql 때문에 mysql-libs 가 설치되는데, mysql 5.5.19 버전에 의존성이 있다.
기존 centos5 는 5.0.77 이다. 기본패키지를 쓰면서, remi 패키지를 사용하는 방법이 있을 듯 한데.
그냥 mysql 5.5.19 로 설치했다.
yum --enablerepo=remi install mysql mysql-server
의존성 에러가 발생하면 재설치 해주면 된다.
데이터가 없다면 /var/lib/mysql 을 삭제하고 설치해주는 것이 좋다.




[그냥 잡다한 정리]
핵심은 centos 에서 epel,ius repository 를 등록하고, php53u-fpm , php53u-pecl-apc 를 설치한다.
그외 추가 패키지는 알아서 설치 - php53u-mysql 같은...
상세한 설명은 생략.

'PHP' 카테고리의 다른 글

구글 로그인  (0) 2013.09.09
codeigniter 1.7에서 GET변수 쓰기  (0) 2013.06.21
mobipicture 이미지 업로드  (2) 2013.03.01
트위터 api example  (1) 2013.02.24
페이스북 api examples  (0) 2013.02.24
날짜 처리 모음  (0) 2012.08.19
serialize, unserialize  (1) 2012.07.22
Vimeo 업로드 동영상  (0) 2012.06.12
nginx+mysql +php-fpm 연동 설치 및 nginx.conf 설정  (1) 2012.01.05
숫자를 문자들까지 이용해서 길이 줄이기...  (0) 2011.11.17
Posted by altvirus
,