mysqli_query DBへ繋いでエスケープして問い合わせして閉じる

  • mysqli_connect()
  • mysqli_connect_errono
  • mysqli_query()
  • mysqli_close()

mysql_queryは非推奨

<?php
    if (isset($_POST['submit'])) {
        // POSTからデータの取り出し
    $foo = $_POST['foo'];
    $var = $_POST['var'];

    if (!empty($foo) && !empty($var)) {
        // オブジェクト指向型接続
        $mysqli = @new mysqli('localhost', 'pass', 'pass', 'database_name');

        if ($mysqli->connect_errno) {
            die('接続エラー: '. $mysqli->connect_errno);
        }


        /*
        手続き型
        $mysqli = mysqli_connect('localhost', 'pass', 'pass', 'database_name');
        if (!$mysqli) {
            die('接続エラー:'. mysqli_connect_errno);
        }
        */


        // エスケープ
        $foo = $mysqli->real_escape_string($foo);
        $var = $mysqli->real_escape_string($var);
        // MySQLへ書き込み (オブジェクト指向型)

        if (!$mysqli->query("INSERT INTO `database_name`.`table_name` (`id`, `foo`, `var`, `date`) VALUES (NULL, '$foo', '$var', NOW())")) {
        printf("Error: %s\n", $mysqli->sqlstate); // もしエラーだった場合は、"sqlstate"が表示される %sは文字列指定子
    }
       /*
            別パターン 【オブジェクト指向型:結果を返さない】
            if (!$mysqli->query("INSERT INTO `database_name`.`table_name` (`id`, `foo`, `var`, `date`) VALUES (NULL, '$foo', '$var', NOW())") === TRUE) {
                printf("失敗\n");
            }

            別パターン 【オブジェクト指向型:結果を返す】
            if ($result = $mysqli->query("INSERT INTO `database_name`.`table_name` (`id`, `foo`, `var`, `date`) VALUES (NULL, '$foo', '$var', NOW())")) {
                printf("returned %d rows.\n", $result->num_rows); // 結果セットの行数を返す
            }

            別パターン 【手続き型】
            $query = "INSERT INTO `elvis_store`.`guitarwars` (`id`, `name`, `score`, `date`) VALUES (NULL, '$name', '$score', NOW())"; // カラム名を指定しない省略形式の書き方
        */            

        $query = "INSERT INTO `database_name`.`table_name` (`id`, `foo`, `var`, `date`)          VALUES (NULL, '$foo', '$var', NOW())";
        mysqli_query($mysqli, $query);

        mysqli_close($mysqli);



そばかす

そばかす