0

私の知る限り、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でもこれが可能かどうか疑問に思っています。

4

0 に答える 0