1

値を prepare および bindValue 関数でバインドするときに、pdo の挿入ステートメントでクエリを実行したい。

pdo で次のようなコードを実行したい:

INSERT INTO test_table1 (`item1`, `item2`, `item3`) 
VALUES (
        'value of item1', 
        'value of item2', 
        (SELECT `value_of_item3` FROM test_table2 WHERE `item_id` = '3' LIMIT 1)
)

mysql と pdo では、値をバインドしないと非常にうまく機能しますが、pdo では次のコードのように値をバインドすると機能しません。

$sth = $db->prepare("INSERT INTO MyGuests (`item1`, `item2`, `item3`)
    VALUES (:item1, :item2, :item3)");
$sth->bindValue(':item1', 'value of item1');
$sth->bindValue(':item2', 'value of item2';
$sth->bindValue(':item3', '(SELECT `value_of_item3` FROM test_table2 WHERE `item_id` = '3' LIMIT 1)');
$sth->execute();

誰かが何をすべきか考えていますか?

4

0 に答える 0