W1_H5_DB 연결 테스트

·2023년 4월 6일
0

노말틱 취업스터디

목록 보기
4/16
post-thumbnail

💻DB에 데이터를 넣고 화면에 출력하기

1. MySQL에 데이터 넣기

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

아래의 방법으로 mysql에 접근했을 시에는 에러가 나지❌

sudo mysql -u root -p

// connect라는 이름의 db 생성
CREATE DATABASE connect;

// 생성된 db 확인
SHOW DATABASES;

// 생성된 DB에 테이블 생성하기
use connect;
mysql> CREATE TABLE password(
    -> Seq INT NOT NULL AUTO_INCREMENT,
    -> Title VARCHAR(200) NOT NULL,
    -> PRIMARY KEY(Seq)
    -> );
    
mysql> CREATE TABLE user(
	-> id CHAR(10) PRIMARY KEY, 
    -> psa CHAR(15) NOT NULL,
    -> );
SHOW TABLES;

// 데이터 입력
INSERT INTO user VALUES('elina','normaltic');
INSERT INTO user VALUES('banana','umm');
INSERT INTO user VALUES('apple','khj');

//입력된 데이터의 확인
SELECT*FROM user;


2. html파일에서 MySQL의 DB 가져오기

  • PHP와 MySQL 연동하기
    : check.php 파일을 만들어서 MySQL에 내가 만든 db와 php 파일이 잘 연동되었는지 확인해야 한다.
    연동이 제대로 되었을 경우에는 "Connection Succeded" 문구가, 아닐 경우 "Connection failed. Try again!" 문구가 나오도록 한다.

    connection 부분에 new mysqli를 했을 때는 연동이 안되었지만 mysqli_connect 를 사용하니 함수로 바뀌며 연결이 되었다. 이와 관련되서는 php 문법과 mysql 연동 부분에 대하여 더 공부를 해보아야겠다.

    🤔추측으로는 mysql을 받아오는걸 객체로써 새로 만들 수 없어서 오류가 난 것 같다..
<?php
$conn = mysqli_connect("localhost", "root", "1231", "connect");

if($conn->connect_error) echo "<h2>Connection failed. Try again!</h2>";
else echo "<h2>Connection Succeded!</h2>";
?>

  • PHP로 접속 성공 여부 확인
    php 7버전부터는 mysql_conncet()를 사용하면 안된다고 한다!

  • select.php 파일 생성 -> 데이터를 받아와 화면에 출력
<?php

include_once("check.php");

$sql = "SELECT*FROM user";

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

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "user id: ". $row["id"]."<br>";
        echo "user password: ". $row["psa"]."<hr>";
    }
} else {
    echo "No results found.";
}
$conn->close();

?>

  • 출력된 화면 확인

🤍참조

profile
화이트해커 꿈나무 엘입니다😉

0개의 댓글