14장 PHP와 SQL 연결중 에러가 뜹니다. > 출간도서 Q&A

본문 바로가기

출간도서 Q&A

일반글
PHP&MySQL

14장 PHP와 SQL 연결중 에러가 뜹니다.

페이지 정보

게시물QR코드

본문

<?php

$mysql_host = "localhost";

$mysql_user = "root";

$mysql_password = "1234";

$mysql_db = "mydb";


$conn = new mysqli($mysql_host, $mysql_user, $mysql_password, $mysql_db); // MySQL 데이터베이스 연결


if ($conn->connect_error) { // 연결 오류 발생 시 스크립트 종료

    die("연결 실패: " . $conn->connect_error);

echo "연결 성공";

?>

하여 시도하면....

Fatal error: Uncaught mysqli_sql_exception: Unknown database 'mydb' in C:\xampp\gnuwiz\myapp\con-1.php:7 Stack trace: #0 C:\xampp\gnuwiz\myapp\con-1.php(7): mysqli->__construct('localhost', 'root', Object(SensitiveParameterValue), 'mydb') #1 {main} thrown in C:\xampp\gnuwiz\myapp\con-1.php on line 7 

라고 뜹니다.

P538, P539,

P540 내용를 치면

Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1049] Unknown database 'mydb' in C:\xampp\gnuwiz\myapp\con-2.php:8 Stack trace: #0 C:\xampp\gnuwiz\myapp\con-2.php(8): PDO->__construct('mysql:host=loca...', 'root', Object(SensitiveParameterValue)) #1 {main} thrown in C:\xampp\gnuwiz\myapp\con-2.php on line 8 

라고 에러 뜹니다. 결국 같은 에러 인 모양인데.. 뭘 어쩌면 되나요??



댓글목록

그누위즈님의 댓글

그누위즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

표시된 오류 메시지는 제공된 자격 증명 및 데이터베이스 이름을 사용하여 MySQL 데이터베이스에 연결하는 데 문제가 있음을 나타냅니다.

다음은 오류 메시지의 분석입니다.

- mysqli_sql_exception: MySQL 문 실행 중 오류가 발생한 경우 MySQLi 확장에서 발생하는 예외 유형입니다.
- 알 수 없는 데이터베이스 'mydb': 오류 메시지의 이 부분은 'mydb'라는 데이터베이스가 인식되지 않거나 MySQL 서버에 존재하지 않음을 나타냅니다.
- C:\xampp\gnuwiz\myapp\con-1.php:7: 오류가 발생한 파일 경로와 줄 번호를 지정합니다. 이 경우 7행의 con-1.php 파일에서 오류가 발생합니다.

이 오류를 해결하려면 다음 단계를 수행할 수 있습니다.

1. 데이터베이스 'mydb'가 존재하는지 확인: MySQL 서버를 확인하고 데이터베이스 'mydb'가 생성되었는지 확인합니다. 존재하지 않는 경우 연결을 설정하기 전에 만들어야 할 수 있습니다.

2. 데이터베이스 자격 증명 확인: 제공된 데이터베이스 자격 증명('localhost', 'root', 'password', 'mydb')이 올바른지 확인합니다. 사용자 이름, 암호 및 데이터베이스 이름이 정확하고 데이터베이스에 액세스하는 데 필요한 권한이 있는지 확인하십시오.

3. MySQL 서버가 실행 중인지 확인: MySQL 서버가 실행 중인지 확인하십시오. 서버 상태를 확인하고 필요한 경우 다시 시작할 수 있습니다.

4. MySQLi 연결 코드 확인: 7행의 con-1.php 코드를 다시 확인하여 mysqli 생성자로 전달된 매개변수가 올바른지 확인하십시오.

이러한 점을 해결하면 오류를 해결하고 MySQL 데이터베이스에 성공적으로 연결할 수 있습니다.

염호섭님의 댓글

no_profile 염호섭쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

1. 데이터베이스 'mydb'가 존재하는지 확인: MySQL 서버를 확인하고 데이터베이스 'mydb'가 생성되었는지 확인합니다. 존재하지 않는 경우 연결을 설정하기 전에 만들어야 할 수 있습니다. ---> 저도 이것이 관건 같은데... 이걸 확인 하는 방법이 뭔가요???  어디서 확인을 해야 하나요??

그누위즈님의 댓글의 댓글

그누위즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

phpmyadmin 에 접속하셔서,
mydb라는 데이터베이스가 생성되어있는지 확인해보세요.

염호섭님의 댓글

no_profile 염호섭쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

phpmyadmin 에 접속하셔서,
--> 애구... 어떻게 접속하라는 말일까요?? C:\xampp\phpMyadmin 을 들어가서 안에 있는 폴더들을 찾아 보라는 말씀인지요??
--> 일단 폴더나 파일은 없습니다.
      만일 이 파일이나 폴더 검색이 아니면 어떻게 하라는 건지 설명 부탁드립니다.
mydb라는 데이터베이스가 생성되어있는지 확인해보세요.
--> 만일 폴더나 파일을 찾는게 맞다면 이 C:\xampp\phpMyadmin 에다 mydb 폴더를 만들면 되나요??
--> 만일 다른 방법으로 찾는거라면 어떻게 mydb를 만들면 될까요??

좀 늦은 나이에 프로그램을 시작해서 여러가지 모르는게 많습니다.  불편하겠지만.. 좀 도와 주세요..

그누위즈님의 댓글의 댓글

그누위즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

책을 순서대로 따라오셨는지 모르겠지만,
xampp 프로그램에서, phpmyadmin을 접속하시어,
현재 데이터베이스 상태를 확인 할 수 있습니다.
폴더를 만들거나 하는것이아닙니다.
현재 질문은 바로 중간단계부터 책을 보시고 계신게아닌가? 하는 의문이듭니다.
앞에 장부터 차근차근 진행하셔야합니다.

염호섭님의 댓글의 댓글

no_profile 염호섭쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

물론 책은 순서대로 따라가고 중간에 몰라서 따로 '혼자 공부하는 SQL'책도 보고 했습니다.
헌데 환갑넘어 공부하려니 하시는 말씀 잘 못따라 가겠네요....
짜증 내지 마시고 어린아이 가르친다고 생각하시고 찬찬히 설명 부탁드립니다.
우선....

xampp 프로그램에서, phpmyadmin을 접속하시어,
--> 이건 XAMPP Control Panel을 열어서 확인하라는 건가요??.
--> 이곳에서 Mysql 에서 Admin 하고 Config 하고 열심히 보고 있는데.. 어디서 mydb 가 있는지 없는지 찾으라는 건가요??

그누위즈님의 댓글의 댓글

그누위즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

xampp 프로그램에서 apache 부분의 config를 클릭하여 phpMyAdmin 버튼을 클릭하시면,
브라우저에 새로운 창으로 데이터베이스가 열립니다.
좌측을 확인하시면, mydb가 생성되어있는지 확인하시고,
mydb를 생성하는 sql문을 실행하셔, 데이터베이스를 생성하셔야합니다.
참고로 위 부분은 모두 책에 나와있는 부분이니,
앞에서 부터 차근차근 따라서 진행하시기바랍니다.

염호섭님의 댓글

no_profile 염호섭쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

애구 결국 해결은 했지만....
xampp 프로그램에서 apache 부분의 config를 클릭하여 phpMyAdmin 버튼을 클릭하시면,
브라우저에 새로운 창으로 데이터베이스가 열립니다.
좌측을 확인하시면, mydb가 생성되어있는지 확인하시고,
===> 가 아니라 xampp 판넬에서 Mysql 부분의 Admin 을 클릭해서 phpMyAdmin 을 열어서 좌측에 만든 db 항목들을 보면 되는 거였네요...
          찾아 보라고 하는 길을 좀더 정확했으면 쉽게 찾았을걸....
          또 mydb 라는 SQL db 를 한개 새로 만들면 다 해결되는 것을  ... (SQL Workbench 에선 이걸 schema라고 하더군요)
          좌우지간 SQL에서 mydb (schema)를 한개 만드니 다 해결 되네요.
          잘 모르는 사람 설명하시느라 수고 많으셨습니다.
          감사합니다. 모르는거 생기면 또 물어 보겠습니다.

그누위즈님의 댓글의 댓글

그누위즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

아무쪼록 해결되셔 다행입니다.^^

  • Addr.부산광역시 동구 중앙대로 319, 9층 L4호(초량동, 부산YMCA빌딩) Email. gnuwiz@naver.com
  • BR. 625-68-00172 TRC. 2019-부산해운대-1186 TEL. 0507-1382-2790
All rights reserved.