1

PDOで複数の行を更新しようとしています。テーブルスクリプトには、次のように列id、style、およびlinkが含まれています。

id  style       link

1   Normalize   http://cdnjs.cloudflare.com/ajax/libs/normalize/2.1.0/normalize.css
2   Bootstap    http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap.css

Normalize と Bootstrap の 2 つの異なるリンクを保存する必要がありますが、この構造を使用すると、インタープリターが何か間違ったものを返します。これどうやってするの?最初のリンク、2 番目のリンク、または両方を一緒に、またはそれぞれ個別に変更したい。

私のSQL:

$connect = new Database();
$connect->query("UPDATE scripts SET link :normalize WHERE style = 'Normalize' AND  SET link :bootstrap WHERE style = 'Bootstrap'");
$connect->bind(':normalize', $_POST['normalize']);
$connect->bind(':bootstrap', $_POST['bootstrap']);
$connect->execute();
4

2 に答える 2

1

これを試して:

UPDATE scripts SET link = CASE
WHEN style= 'Normalize' THEN :normalize
WHEN style= 'Bootstrap' THEN :bootstrap
ELSE link
END;
于 2013-09-22T17:53:23.947 に答える
0

あなたがやろうとしていることは不可能だと思います。複数の条件を使用して行を更新する場合は、複数のクエリが必要になります。

于 2013-09-22T17:46:43.950 に答える