본문 바로가기
MySql

MySQL 내 PDO가 작동하지 않는 이유는 무엇입니까?

by 베이스 공부 2021. 2. 9.
반응형

PDO를 사용하기 시작했고 PDO를 사용하여 MySQL에 성공적으로 연결했습니다. 그러나 DB에서 항목을 선택하려고하면 아무 일도 일어나지 않습니다. 아무 것도 에코되지 않습니다. (해당 테이블에 레코드가 있고 사용자 이름 열이 존재하더라도) PHP 로그에 오류가 없습니다.

나는 MAMP를 사용하고 있으며 모든 PDO 구성 요소가 phpinfo ()에서 작동하는 것 같습니다 (처음에 db에 연결할 수 있었기 때문에)

무엇이 잘못되었을 수 있는지 알려주세요. 고마워

    <?php
    try 
    {
        $connection = new PDO('mysql:host=localhost;dbname:my_db','my_username',
                              'xxxxxxx');   


            $stmt=$connection->prepare("SELECT * FROM users");
            $stmt->execute();

            while ($row=$stmt->fetch(PDO::FETCH_OBJ)){

                echo $row->username;
            }

    }

    catch(Exception $e)
    {
        echo "There was an error connecting to the database";
    }

    ?>

 

해결 방법

 

PDO에 예외를 던지기를 원한다고 알려야합니다.

$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

아래 귀하의 의견에 따라 귀하의 DSN이 올바르지 않은 것이 분명합니다. 그것은해야한다:

$connection = new PDO('mysql:host=localhost;dbname=my_db','my_username','xxxxxxx');

구문은 원래 있던 dbname : 이 아니라 dbname = 입니다.

 

참조 페이지 https://stackoverflow.com/questions/10640648

 

 

반응형

댓글