私の知る限り、MySQL はプリペアド ステートメント内の名前付きプレースホルダーを直接サポートしていません。したがって、次のような書き方はできません。
SET @s = 'SELECT SQRT(POW(:a,2) + POW(:b,2)) AS hypotenuse';
PREPARE stmt2 FROM @s;
SET @a = 6;
SET @b = 8;
EXECUTE stmt2 USING @a, @b;
ただし、たとえば PDO を使用してそれを行うことは可能です。例えば:
$a = 6;
$b = 8;
$stmt = $conn->dbh->prepare('SELECT SQRT(POW(:a,2) + POW(:b,2)) AS hypotenuse;');
$stmt = bindParam(':a', $a);
$stmt = bindParam(':b', $b);
$stmt->execute();
近いうちにADODBを使い始める予定なので、ADODBでもこれが可能かどうか疑問に思っています。