gpt4 book ai didi

php - PDO : Need to escape string or not ?

转载 作者:行者123 更新时间:2023-11-29 04:37:38 25 4
gpt4 key购买 nike

我使用这段代码将一些数据插入到我的数据库中。我调整了我以前基于 mysqli 的代码以现在使用 PDO。

对于 name 和 id 这两个参数,我是否需要使用带有 PDO 的 mysqli_real_escape_string 之类的函数对它们进行转义?还是可以在查询中直接传递这些参数?

<?php
try
{
$pdo = new PDO('mysql:host='.$servername.';port='.$dbport.';dbname='.$dbname.'', $username, $decodedPwd);

$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$json = $_POST['jsonData'];
$id = $json["id"]
$name = $json["name"]

$pdo->beginTransaction();

// do request

$pdo->query('INSERT INTO test(id, name) VALUES ('$id', '$name')');

$pdo->commit();

echo 'Everything is OK';
}
catch(Exception $e)
{
$pdo->rollback();

echo 'An error occurred :<br />';
echo 'Error : '.$e->getMessage().'<br />';
echo 'N° : '.$e->getCode();

exit();
}

最佳答案

你需要准备你的声明,试试这个:

$query = $pdo->prepare('INSERT INTO test(id, name) VALUES (:theid, :thename)');
$query->execute(array(
'theid' => $id,
'thename' => $name
));

关于php - PDO : Need to escape string or not ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37433252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com