Почему PDO не работает в wamp?

Почему PDO не работает в wamp? Я думаю, что мой PHP-код в порядке, но я не могу вставить и получить данные из базы данных MySQL, как я могу это исправить?

<?php 

$db = new PDO('mysql:host=localhost;dbname=ajaxdata','root','');

$page = isset($_GET['p'])?$_GET['p']:'';
if($page=='add') {
    $name = $_POST['nm'];
    $email = $_POST['em'];
    $phone = $_POST['pn'];
    $address = $_POST['ad'];
    $stmt = db->prepare("INSERT INTO info VALUES('',?,?,?,?)");
    $stmt->bindParam(1,$name);
    $stmt->bindParam(2,$email);
    $stmt->bindParam(3,$phone);
    $stmt->bindParam(4,$address);
    if($stmt->execute()){
        echo "Success add data";
    } else {
        echo "Fail add data";
    }
} else if($page=='edit'){

} else if($page=='del'){

} else{
    $stmt = $db->prepare("SELECT * FROM info");
    $stmt->execute();
    while($row = $stmt->fetch()){
        ?>
        <tr>
            <td><?php echo $row['id'] ?></td>
            <td><?php echo $row['name'] ?></td>
            <td><?php echo $row['email'] ?></td>
            <td><?php echo $row['phone'] ?></td>
            <td><?php echo $row['address'] ?></td>
            <td>
                <button class="btn btn-warning">Edit</button>
            </td>

        </tr>
        <?php
    }
}
?>

Я не знаю, как исправить эту ошибку от wamp, поэтому, пожалуйста, скажите мне, что делать.

1 ответ

Вы пропускаете знак доллара при вызове вашего объекта БД variable:

$stmt =  db->prepare("INSERT INTO info VALUES('',?,?,?,?)");
//      ^

что должно быть следующим:

$stmt = $db->prepare("INSERT INTO info VALUES('',?,?,?,?)");
Другие вопросы по тегам