如何正确使用PDO对象进行参数化SELECT查询
我已经尝试按照PHP.net说明进行SELECT
查询,但是我不确定执行此操作的最佳方法。
SELECT
如果可能,我想使用参数化查询来返回ID
表中name
字段与参数匹配的表。这将返回一个,ID
因为它将是唯一的。
然后,我想将其ID
用于INSERT
另一个表中,因此我将需要确定它是否成功。
我还读到您可以准备查询以供重用,但是我不确定这有什么帮助。
回答:
您选择像这样的数据:
$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);
以上是 如何正确使用PDO对象进行参数化SELECT查询 的全部内容, 来源链接: utcz.com/qa/413545.html