본문 바로가기

서버 기초/mysql

php->mysql 연동시에 일어났던 오류들 정리

번호 에러 상황 에러 문구 해결법
1

php문에서 mysql 문을 적는도중 오류가 났다. 

해당 php 글 : $sql="SELECT * FROM member WHERE last_name like :last_name OR first_name LIKE :first_name";

 

이 php 글 보다 위에 이미 연결이 다 됐다고, connect도 떴었는데 안되었다.

error:SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected

$sql="SELECT * FROM sampledb.member WHERE last_name like :last_name OR first_name LIKE :first_name"; 

으로 db이름을 한번더 언급해주니까 잘 되었다.

2

php문에서 mysql의 where 문을 적는데 오류가 났다. 

php $sql 글 : 

"SELECT * FROM sampledb.member WHERE last_name like : last_name OR first_name LIKE : first_name"

 

그리고 whrer에 들어간 문구들의 설정 : 

$stmh→bindvalue(':last_name',$search_key,PDO::PARAM_STR);  $stmh→bindvalue(':first_name',$search_key,PDO::PARAM_STR);

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;

위에글에는 :(띄어쓰기)last_name 으로 하고, 아래글에는 :last_name 으로 해서 띄어쓰기에 차이가 났다. 

밑에 띄어쓰기를 삭제하고 실행하니 잘 됐다.