php - 第一次使用 PDO 遇到问题

标签 php mysql pdo

我正在尝试开始使用 PDO,但遇到了一些麻烦。这是我的原始代码:

    $query = "
              UPDATE `products` 
              SET `product_qty` = '{$_GET['product_qty']}'
              WHERE `product_id` = '{$_GET['product_id']}'
    ";

    mysql_query($query) or die(mysql_error());

这很好用,但是当我尝试将其转换为 PDO 语法时:

    $db->prepare('
    UPDATE products 
    SET product_qty = :product_qty
    WHERE product_id = :product_id
    ');

    try 
    {
        $db->execute(array(':product_qty' => $_GET['product_qty'], ':product_id' => $_GET['product_id']));
    }
    catch (PDOException $e) 
    {
        print "Error!: " . $e->getMessage() . "<br/>";
        die();
    }

我得到错误:

Fatal error: Call to undefined method PDO::execute() in ...


有人可以帮助我让我的第一个 PDO 查询正常工作吗?

最佳答案

$db->prepare() 返回一个 PDOStatement,它有 execute() 方法。

$stmt = $db->prepare('UPDATE products 
    SET product_qty = :product_qty
    WHERE product_id = :product_id');

$stmt->execute(array(
    ':product_qty' => $_GET['product_qty'], 
    ':product_id' => $_GET['product_id']
));

关于php - 第一次使用 PDO 遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11332458/

相关文章:

php - 重命名 Laravel 公共(public)文件夹中的文件

PHPExcel - 将奇怪的字符保存到数据库

php - 生成测试时无法找到配置文件

mysql - PDO 多MYSQL语句执行和错误日志文件

php - 如何使用 PDO 和数组仅更新表格单元格(如果为空)

java - Android - CSV 多行发布到 PHP 服务器

php - PHP 页面中的延迟响应

mysql - 如何匹配子查询字段?

mysql - 带有 PESSIMISTIC_WRITE 锁的 REPEATABLE_READ 隔离级别

PHP 使用 PDO 和 PDO 语句