我需要执行UPDATE,INSERT和DELETE,绑定参数并计算受影响的行。
E.g。
<?php
// Class UserProfData ... new PDO() ...
$query = "UPDATE CadUsers
SET aboutme = :aboutme
WHERE userid = $UserID";
// Any function to bind... using exec() to count affected rows.
$instance->bindParam(':aboutme', $colour, PDO::PARAM_STR); // 'My name is Mark Larry B. Gates.'
$Affected_Rows = $instance->exec($query); // Affected: [false/NULL/0/1] rows
?>
PDO::prepare()
+ bindParam()
+ execute()
无效。
答案 0 :(得分:0)
您不能将PDO :: exec()与PDO :: bindParam()一起使用。
必须使用PDO :: prepare()+ execute()+ rowCount()。您应该始终使用正确的方法,即使由于您的某些错误而暂时无法正常工作。您必须修复该错误,而不是尝试错误的方法。
请注意,您应该绑定查询中使用的所有变量
$query = "UPDATE CadUsers SET aboutme = ? WHERE userid = ?";
$stmt = $pdo->prepare($query);
$stmt->execute([$color, $UserID]);
$rows = $stmt->rowCount();