@destroy_fukuma

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

phpにおいて、テーブルが見つからないとエラーがでる。

phpでSQLとのデータをやり取りしたい為

<?php

    try{
        $pdo = new PDO('mysql:host=mysql; dbname=mydatas; charset=utf8','root','root');

        $sql = 'CREATE TABLE users (
            id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
            name VARCHAR(60) NOT NULL,
            email VARCHAR(255) NOT NULL
            )';

        $sql = "INSERT INTO users
                    (name, email) 
                VALUES 
                    ('田中', 'tanaka@gmail.com'),
                    ('山田', 'yamada@gmail.com'),
                    ('石田', 'ishida@gmail.com')";

        $pdo->query($sql);
        
        } catch (PDOException $e){
            exit ($e->getMessage());
        }

    $sql = 'SELECT * FROM users';
    
    $statement = $pdo->prepare($sql);
    
    $statement->execute();
    
    $travels = [];
    
    while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
        $travels[] = $row;
    }

    $statement = null;
    $pdo = null;

    require_once 'show_table.php';

と書き、昨日は無事にデータを取り出せたのですが、今日になってデータが取り出せず、

Base table or view not found: 1146 Table 'mydatas.users' doesn't exist php

と出ます。そうしたらよいですか?

0 likes

1Answer

    $sql = 'CREATE TABLE users (
        id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(60) NOT NULL,
        email VARCHAR(255) NOT NULL
        )';

...の後に
$pdo->query($sql);

を記述し工事完了です...(自己完結)
でも何故1回目はいけたのか解りません

0Like

Your answer might help someone💌