php - 为什么 PDO 在 wamp 中不起作用?

标签 php mysql 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 中的此错误,所以请告诉我该怎么做。

最佳答案

您在调用数据库对象时缺少美元符号 variable :

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

必须如下:

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

关于php - 为什么 PDO 在 wamp 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42745021/

相关文章:

javascript - 在 JavaScript 函数中重新执行 PHP 脚本

php - 我将如何解析这段 PHP 以允许通过 PHP 从 MySQL 接收/输出数据?

php - 使用 SQL 输出 1 by 1

php - 以字符串作为参数的 IN() 不适用于 PDO

php - PDO- "Call to a member function fetch() on a non-object"

php - 数组从 2 个不等于变量的字段中推送 1 个值

php - Laravel 5 加密 - 给定相同字符串的不同值?

java - 帮助搜索的开源工具

PHP 和 MySQL - fatal error : Function name must be a string

PHP 认证库