PHP

pdoを使ってsqlを操作する - PHP

2018年3月24日

0
0

 

 

追記

try{
    $dsn = 'mysql:host=localhost; dbname=bitnami_wordpress;charset=utf8;';
    $user = 'root';
    $password = 'u****';
    $dbh = new PDO($dsn, $user,$password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
}catch(PDOException $e){
    die($e->getMessage());
}

try{

$user = wp_get_current_user();
$user_login_id = $user -> ID; 

$statement = $dbh->prepare("select * from wp_users where ID = :name");
$statement->execute(array(':name' => $user_login_id));
$row = $statement->fetchAll(); 
//print_r($row);


foreach ($row as $value) { 
  echo $value['ID'];
  echo $value['user_login']; 
  echo $value['user_image'];
  echo $value['user_email']; 
}
  

}catch(PDOException $e){
    die($e->getMessage());
}

 

dbに接続する

try {
$user = "root";
$pass = "pass";
$dbh = new PDO('mysql:host=localhost;dbname=db', $user, $pass);
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
};

SELECT

$stmt = $dbh->prepare(" SELECT count(*) FROM `tb` WHERE name = :i ");

$stmt->execute(array("i"=>"$v"));
//値存在してる?
$number_of_rows = $stmt->fetchColumn(); 

if ($number_of_rows == 0) {
echo "値存在してない";
}else{
echo "値存在してる";
};

SELECT2

$q = $dbh->prepare("SELECT * tb WHERE name = :i");
$q->bindValue(':i', 'something');
$q->execute();

if ($q->rowCount() > 0){
    $check = $q->fetch(PDO::FETCH_ASSOC);
    $row_id = $check['id'];
    echo $row_id;
    // do something
}

//or

$q = $db->prepare("SELECT id FROM table WHERE forename = :forename and surname = :surname LIMIT 1");
$q->bindValue(':forename', 'Joe');
$q->bindValue(':surname',  'Bloggs');
$q->execute();

if ($q->rowCount() > 0){
    $check = $q->fetch(PDO::FETCH_ASSOC);
    $row_id = $check['id'];
    // do something
}

UPDATA

$sql = 'update tb set set_column =:set_name where where_column = :where_value';
$stmt = $dbh -> prepare($sql);
$stmt->bindParam(':set_name', $update_set_name, PDO::PARAM_STR);
$stmt->bindParam(':where_value', $update_where_value, PDO::PARAM_STR);
$stmt->execute();

INSERT

$stmt = $dbh -> prepare("INSERT INTO tb (column_one, column_tow) 
                         VALUES(:value_one, :value_tow)");
$stmt->bindParam(':value_one', $value_one, PDO::PARAM_STR);
$stmt->bindParam(':value_tow', $value_tow, PDO::PARAM_STR);
$stmt->execute();
Pocket
LinkedIn にシェア

  • この記事を書いた人
  • 最新記事

藤沢瞭介(Ryosuke Hujisawa)

りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

-PHP

Copyright© off.tokyo , 2021 All Rights Reserved Powered by AFFINGER5.