pdo 加固php,PHP: PDOStatement - Manual

1.- Conectar a la base de datos usando try/catch.

$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass");

2.- Preparar la consulta (insert,update,delete).

2.1.- Preparar la consulta:

$stmt = $pdo->prepare("INSERT INTO alumnos( nombre, apellidos) values ( 'Taylor','Swift' )");

$stmt = $pdo->prepare("INSERT INTO colegas (name, addr, city) values (?, ?, ?)");

$stmt = $pdo->prepare("INSERT INTO colegas (name, addr, city) value (:name, :addr, :city)");

2.2.- Asignar parámetros en la consulta:

$stmt->bindParam(':name', $name);

$name='Pepito';

$datos = array('Cathy', '9 Dark and Twisty Road', 'Cardiff');

$stmt = $pdo->prepare("INSERT INTO colegas (name, addr, city) values (?, ?, ?)");

$datos = array( 'name' => 'Cathy', 'addr' => '9 Dark and Twisty', 'city' => 'Cardiff' );

$stmt = $pdo->prepare("INSERT INTO colegas (name, addr, city) value (:name, :addr, :city)");

2.3.- Ejecutar la consulta

try{

$stmt->execute();

// o bien

$stmt->execute($datos);

}

catch(PDOException $err)

{

// Mostramos un mensaje genérico de error.

echo "Error: ejecutando consulta SQL.";

}

2.- Preparar la consulta (select).

2.1.- Preparar la consulta:

try{

// ATENCION: si no tenemos parámetros en la consulta, la podemos ejecutar con ->query (recomendable en SELECT) o con ->exec (para INSERT, UDPATE, DELETE)

$stmt = $pdo->query('SELECT name, addr, city from colegas');

}

catch(PDOException $err)

{

// Mostramos un mensaje genérico de error.

echo "Error: ejecutando consulta SQL.";

}

$stmt = $pdo->prepare('SELECT name, addr, city from colegas where city =:ciudad'); (con parámetros)

$datos = array( ':ciudad' => 'Santiago');

try{

$stmt->execute($datos);

}

catch(PDOException $err)

{

// Mostramos un mensaje genérico de error.

echo "Error: ejecutando consulta SQL.";

}

2.2.- Leemos los datos del recordset (conjunto de registros) que nos devuelve SELECT en el objeto PDOStatement.

2.2.1.- Se puede leer cada fila del recordset con ->fetch() del objeto PDOStatement o mediante ->fetchAll() (obtiene todas las filas del recordset).

'''Este bloque de código lo ejecutaremos dentro de la sección try { ..... }'''

while($row = $stmt->fetch()) {

echo $row['name'] . "
";

echo $row['addr'] . "
";

echo $row['city'] . "
";

}

$row = $sql->fetchAll();

foreach($data as $row)

$id = $row['id'];

$content = $row['content'];

}

3.- Cerrar la conexión.

// Liberamos los recursos utilizados por el recordset $stmt

$stmt=null;

// Se recomienda cerrar la conexión para liberar recursos de forma más rápida.

$pdo = null;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值