phpでイマドキDB接続の仕方なの?

2019.07.20

Logging

実行していないので上手く動いているかは
未知数ですが、コードの書き方はイマドキの書き方に
しています。PHP公式ではこう書かれています。

プリペアドステートメントのパラメータに変数をバインドすると・・・。
i 対応する変数の型は integer です。
d 対応する変数の型は double です。
s 対応する変数の型は string です。
b 対応する変数の型は blob で、複数のパケットに分割して送信されます。

<?php
$servername = "hostname";
$dbname ="dbname";
$dbusername = "root";
$dbpassword = "pass";
if($conn = mysqli_connect($servername,$dbusername,$dbpassword,$dbname)){
    $sql = "select username from mastertbl where uid =? and password = ?";
    $stmt = mysqli_stmt_init($conn);
    if(mysqli_stmt_prepare($stmt,$sql)){
        mysqli_stmt_bind_param($stmt,"ss",$uid,password_hash($password,PASSWORD_DEFAULT));
        mysqli_stmt_execute($stmt);
        mysqli_stmt_store_result($stmt);
        if($cnt=mysqli_stmt_num_rows($stmt)){
            $result = mysqli_stmt_get_result($stmt);
            for($i=0;$i<$cnt;$i++){
                $row = mysqli_fetch_assoc($result);
            }
        }
    }
    mysqli_stmt_close($stmt);
    mysqli_close($conn);
}

タグ

blob, conn, connect, db, dbname, dbpassword, dbusername, double, hostname, if, Integer, lt, mysqli, pass, php, root, select, servername, SQL, string, user, イマドキ, コード, バインド, パケット, パラメータ, プリペアドステートメント, 仕方, 公式, 分割, , 変数, 実行, 対応, 接続, 書き方, 未知数, 複数, 送信,

使わないうちに書き方が変わっていましたMySQL。

2015.05.10

Logging


MySQLなんて全然、PHPで呼び出すコードをココ数年書かなくても何も困ること無く生きてきた自分です。その間にもPHPのバージョンが更新されていました。最近使わなかったMySQLでも触ってみようかなとググると目から鱗!!。いつの間にか書き方が微妙に変わってましてDBに接続したりクエリを呼び出したりするのが何だか前より楽になっているような気がします。前のことを殆ど忘れてしまったのでどうこう言えないのですが、何だかこの書き方は覚えやすいなと思います。ちなみに自分はいろいろと浅く広くいろいろな言語に手を出しているので・・・これと言って超強みはないのですが、DB周りは本当に触る機会がなくてあんまり無いですが、DBを使ったものをなにか作りたいなと思っています。
 

function selctsql(){
	$mysqli = new mysqli("host","user","pass","DBname");
	if ($mysqli->connect_error){
	  print("接続失敗:" . $mysqli->connect_error);
	  exit();
	}
	$result = $mysqli->query("SELECT * FROM test ORDER BY id DESC");
	if($result){
	  //1行ずつ取り出し
	  while($row = $result->fetch_object()){
		//エスケープして表示
		$hoge[0] = $row->qur1;
		$hoge[1] = $row->qur2;
	  }
	}
	return $hoge;
}

タグ

AM, connect_error, dbname, exit, fetch_object, FROM test ORDER BY id DESC, function selctsql, hoge, mysqli, new mysqli, query, qur1, qur2, result, return, row, select, クエリ, バージョン, 接続失敗, 書き方,