我已经try 按照PHP.net的说明执行SELECT个查询,但我不确定执行此操作的最佳方式.

如果可能的话,我想使用参数化的SELECT查询,在name字段与参数匹配的表中返回ID.这应该返回一个ID,因为它是唯一的.

然后,我想使用INSERTID到另一个表,所以我需要确定它是否成功.

我还读到,您可以准备查询以供重用,但我不确定这有什么帮助.

推荐答案

您可以按如下方式 Select 数据:

$db = new PDO("...");
$statement = $db->prepare("select id from some_table where name = :name");
$statement->execute(array(':name' => "Jimbo"));
$row = $statement->fetch(); // Use fetchAll() if you want all results, or just iterate over the statement, since it implements Iterator

您可以用相同的方式插入:

$statement = $db->prepare("insert into some_other_table (some_id) values (:some_id)");
$statement->execute(array(':some_id' => $row['id']));

我建议您将PDO配置为在出错时抛出异常.如果任何查询失败,您将得到PDOException分-不需要显式判断.要打开异常,请在创建$db对象后立即调用以下代码:

$db = new PDO("...");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Php相关问答推荐

Laravel 11未自动注册策略

Laravel变形 map 不适用于扩展模型

在Laravel中输出SON时如何将透视表列移动到集合?

PHP Perl正则表达式—URL前面没有等号和可能的单引号或双引号

在PHP中读取JSON

当主页和帖子的缩略图相同时,如何减少主页和帖子的缩略图

Apache只允许index.php-不从根目录工作

文件::Files()响应返回空对象数组

如何使用PHP从TXM(XML)标记中读取特定属性

如何在自定义邮箱内容中获取WooCommerce订单项目的详细信息?

如何使用 AJAX、PHP 和 MYSQL 在 Select 项目时在文本框中填充数据

如何在 Laravel 迁移中使用日期时间和天数?

添加或删除优惠券后自动刷新 WooCommerce checkout 表单字段

WooCommerce 订单和邮箱通知的自定义产品描述

Composer自动加载器重复了子类的类文件路径

为什么foreach循环会输出每个结果?

如何使用相同的变量使函数参数对于数组和字符串都是可选的

在 WordPress 中使用 $wpdb 运行 MySQL 事务是否安全?

PHP for each 函数打印 td

基于其他数组创建多维数组 struct