所以我开始阅读pdo和pdo声明来更新我的代码并给它更多的安全性,但我真的不知道这是好的还是有可能进行注入。在创建数组之前,我还清理了数据。我使用这个函数来添加给定名称的数据表和一个列名称和值如下的数组
$tabla = 'tabla'
$datos = array(
'id' => 'NULL',
'id_usuario' => "'{$usuario['id']}'",
'id_tipo' => "'{$tipo}'",
'id_estado' => "'{$estado}'",
'id_visibilidad' => "'{$visibilidad}'",
'titulo' => "'{$titulo}'",
'contenido' => "'{$contenido}'",
'fecha' => 'CURRENT_TIMESTAMP'
);
function pdo_agregar($tabla, $datos) {
global $pdo;
$columnas = implode(', ', array_keys($datos));
$valores = implode(', ', array_values($datos));
$sentencia = $pdo->prepare("INSERT INTO $tabla ($columnas) VALUES ($valores)");
foreach($datos as $indice => $valor) {
$sentencia->bindParam(':'.$indice, $valor);
}
if($sentencia->execute()) {
return true;
} else {
return false;
}
$sentencia->close();
$pdo->close();
}
这样行吗?o我必须做出这样的陈述吗
$sentencia=$pdo->prepare(“插入$tabla(col,col2,col3)值(:col,:col2,:col3”);
然后单独绑定参数?
提前谢谢!
1条答案
按热度按时间uhry853o1#
您不需要这些绑定东西,可以直接向pdo的execute函数抛出一个数组(它为您进行绑定)。
我的阵法如下
["data" => "mydata", "data2" = "mysecond"]
所以我会生成一个如下的查询:代码是:
顺便说一下,你应该使用类和这个,而不是这个全局的东西。