PHP로 MySQL에 데이터를 넣어주세요.

18992 단어 MySQLPHP
관련 보도: http://qiita.com/muzudho1/items/51f2ec976377625ff0f1
LAMP라는 단어에서 말했듯이 리눅스, 아파치, MySQL, PHP는 자주 사용하는 조합이다.
여기서 MySQL과 PHP를 실제로 사용하고 싶습니다.

하고 싶은 일


데이터베이스를 준비합니다.
테이블 이름: TAMESI1
NAME
AGE
WEIGHT
활용단어참조
14
50
둘째 아들
13
49
삼랑
12
48
이렇게 시시한 데이터도 괜찮죠?
여기에 한 줄 추가하기
NAME
AGE
WEIGHT
사랑
11
47
'왼쪽' 자를 더하면 '어의 글자' 다.
어떤 웹 페이지에서 HTML을 출력하고 싶습니다.

데이터베이스 만들기



CORE SERVER를 사용하여 미리 준비합니다.
그럼 책상도 만들어야 되나?
phpMyAdmin에 접근하고 싶은데 비밀번호를 잊어버렸어요.
어쨌든 phpMyAdmin을 삭제하고 다시 설치해 보세요.
안 들어가.
"핵심 서버에서 phpMyAdmin에 로그인할 수 없을 때 체크하는 3가지 상황"Design Color
http://designcolor-web.com/2012/04/23/coreserver-phpmyadmin/
앞화면에서 확인했어?
phpMyAdmin 화면에 들어갑니다.


표를 적당히 작성하고 데이터를 적당히 입력하다.

책상이 준비되었으니 이제 어떡하지.

PHP


"[PHP] mysqli 사용 방법 요약(MySQL 연결~SELECT 실행 전)"Qita
http://qiita.com/yasumodev/items/bd2ba476f31804d527d3
동경으로 오세요.
index.php
<?php
// 参考: http://qiita.com/yasumodev/items/bd2ba476f31804d527d3

// mysqliクラスのオブジェクトを作成
$mysqli = new mysqli('localhost', '★DBユーザー名', '★パスワード', '★DB名');
if ($mysqli->connect_error) {
    echo $mysqli->connect_error;
    exit();
} else {
    $mysqli->set_charset("utf8");
}

// ここにDB処理いろいろ書く(後述)

// 完成済みのSELECT文を実行する
$sql = 'SELECT NAME, AGE, WEIGHT FROM TAMESI1';
if ($result = $mysqli->query($sql)) {
    // 連想配列を取得
    while ($row = $result->fetch_assoc()) {
        echo $row['NAME'] . ', ' . $row['AGE'] . ', ' . $row['WEIGHT'] . '<br />';
    }
    // 結果セットを閉じる
    $result->close();
}

// DB接続を閉じる
$mysqli->close();
'localhost'를 직접 쓰는 것은 어렵지만 샘플, 프로그램은 거의 그대로 옮겨 쓴다.

데이터 추가

<?php
// ヒント: このファイルのエンコーディングを UTF-8 BOM有り にすること。
// 参考  : http://qiita.com/yasumodev/items/bd2ba476f31804d527d3

// mysqliクラスのオブジェクトを作成
$mysqli = new mysqli('localhost', '★DBユーザー名', '★パスワード', '★DB名');
if ($mysqli->connect_error) {
    echo $mysqli->connect_error;
    exit();
} else {
    $mysqli->set_charset("utf8");
}

// ここにDB処理いろいろ書く(後述)

// 完成済みのSELECT文を実行する
$sql = "INSERT INTO TAMESI1 (NAME, AGE, WEIGHT) VALUES ('四郎', '11', '47')";
if ($result = $mysqli->query($sql)) {
    // 成功時
    // 結果セットを閉じる
    $result->close();
}

// DB接続を閉じる
$mysqli->close();

텍스트 파일의 인코딩이 UTF-8BOM이 되면 인코딩이 수정됩니다.
$mysqli->set_charset("utf8"); 곳,utf8mb4가 엉망이 됐어요.
다만, 이렇게 하면 고정 데이터만 삽입할 수 있기 때문에 POST 문자열 등을 사용하여 변형시키려고 합니다.

삽입된 필드 데이터를 변환하려면

<?php
// ヒント: このファイルのエンコーディングを UTF-8 BOM有り にすること。
// 参考  : http://qiita.com/yasumodev/items/bd2ba476f31804d527d3

// mysqliクラスのオブジェクトを作成
$mysqli = new mysqli('localhost', '★DBユーザー名', '★パスワード', '★DB名');
if ($mysqli->connect_error) {
    echo $mysqli->connect_error;
    exit();
} else {
    $mysqli->set_charset("utf8");
}

// ここにDB処理いろいろ書く

// ひな型をもとにステートメントハンドルを取得する
$sql = "INSERT INTO TAMESI1 (NAME, AGE, WEIGHT) VALUES (?, ?, ?)";
if ($stmt = $mysqli->prepare($sql)) {
    // 条件値をSQLにバインドする
    // bind_param の第1引数 "is" は後続のデータ型を表します。
    // i=integer、s=string、d=double、b=blob など。DATE型は s で良いみたいです。
    // また下記のように値を引数内に直書きすることはできません。
    // 誤)$stmt->bind_param("is", 123, "hanako");
    $name = "五郎";
    $age = 10;
    $weight = 46;
    $stmt->bind_param("sii", $name, $age, $weight);

    // 実行
    $stmt->execute();

    $stmt->close();
}

// DB接続を閉じる
$mysqli->close();

뭐가 좋은지는 모르겠지만 바인딩을 기억해.
POST 문자열에 대응하기 위해...

JSON이 기억이 안 나면...


"JSON 데이터를 PHP로 얻는 방법"Qita
http://qiita.com/fantm21/items/603cbabf2e78cb08133e
도무지 순조롭지 못하다.
구글 전자 표의 내용을 rowData에rensyu에 넣으세요.php에 넣습니다.
연습gs
  // JSObject to JSON
  var json = JSON.stringify(rowData);
  Logger.log(json);
  
  // POST送信のテスト
  var formData = {
    'datas': json
  };
  var options = {
   'method' : 'post',
   'payload' : formData
  };
  UrlFetchApp.fetch("http://★サイトアドレス/rensyu.php", options);
.gs 문건은 관련 보도를 참조하십시오.
관련 보도: http://qiita.com/muzudho1/items/51f2ec976377625ff0f1
이거 렌슈.php로 수신합니다.
rensyu.php
<?php
// ヒント: このファイルのエンコーディングを UTF-8 BOM有り にすること。
// 参考  : http://qiita.com/yasumodev/items/bd2ba476f31804d527d3

if(isset($_POST['datas'])){
    $datas =json_decode( $_POST['datas'], true);

    // mysqliクラスのオブジェクトを作成
    $mysqli = new mysqli('localhost', '★DBユーザー名', '★パスワード', '★DB名');
    if ($mysqli->connect_error) {
        echo $mysqli->connect_error;
        exit();
    } else {
        $mysqli->set_charset("utf8");
    }

    // ここにDB処理いろいろ書く

    // ひな型をもとにステートメントハンドルを取得する
    $sql = "INSERT INTO TAMESI1 (NAME, AGE, WEIGHT) VALUES (?, ?, ?)";
    if ($stmt = $mysqli->prepare($sql)) {
        // 条件値をSQLにバインドする
        // bind_param の第1引数 "is" は後続のデータ型を表します。
        // i=integer、s=string、d=double、b=blob など。DATE型は s で良いみたいです。
        // また下記のように値を引数内に直書きすることはできません。
        // 誤)$stmt->bind_param("is", 123, "hanako");
        $name   = $datas[0]['名前'];
        $age    = $datas[0]['年齢(歳)'];
        $weight = $datas[0]['体重(kg)'];
        $stmt->bind_param("sii", $name, $age, $weight);

        // 実行
        $stmt->execute();

        $stmt->close();
    }

    // DB接続を閉じる
    $mysqli->close();

    echo 'insert.';
}
else
{
    echo 'error: post data not found.' . "\n";
}
중간에 실패했지만.
이렇게 하면 POST 문자열에 대응할 수 있습니다.
잘 됐다!

좋은 웹페이지 즐겨찾기