페이지 정보

본문
<?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 데이터베이스에 성공적으로 연결할 수 있습니다.
염호섭님의 댓글

phpmyadmin 에 접속하셔서,
--> 애구... 어떻게 접속하라는 말일까요?? C:\xampp\phpMyadmin 을 들어가서 안에 있는 폴더들을 찾아 보라는 말씀인지요??
--> 일단 폴더나 파일은 없습니다.
만일 이 파일이나 폴더 검색이 아니면 어떻게 하라는 건지 설명 부탁드립니다.
mydb라는 데이터베이스가 생성되어있는지 확인해보세요.
--> 만일 폴더나 파일을 찾는게 맞다면 이 C:\xampp\phpMyadmin 에다 mydb 폴더를 만들면 되나요??
--> 만일 다른 방법으로 찾는거라면 어떻게 mydb를 만들면 될까요??
좀 늦은 나이에 프로그램을 시작해서 여러가지 모르는게 많습니다. 불편하겠지만.. 좀 도와 주세요..
염호섭님의 댓글의 댓글

물론 책은 순서대로 따라가고 중간에 몰라서 따로 '혼자 공부하는 SQL'책도 보고 했습니다.
헌데 환갑넘어 공부하려니 하시는 말씀 잘 못따라 가겠네요....
짜증 내지 마시고 어린아이 가르친다고 생각하시고 찬찬히 설명 부탁드립니다.
우선....
xampp 프로그램에서, phpmyadmin을 접속하시어,
--> 이건 XAMPP Control Panel을 열어서 확인하라는 건가요??.
--> 이곳에서 Mysql 에서 Admin 하고 Config 하고 열심히 보고 있는데.. 어디서 mydb 가 있는지 없는지 찾으라는 건가요??
염호섭님의 댓글

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