1

私は次のクエリを持っています:

    SET @q = 12;  
    UPDATE `table` 
    SET qty = CONCAT(GREATEST(qty - @q, 0), LEFT(@q := @q - LEAST(qty, @q), 0)) 
    ORDER BY id; 

(ここで素晴らしいクエリに投票してください:データベースの複数の行から数量を削除します

OOP PDO / MySQLを介して(この場合は準備せずに)クエリを実行しています。

@qが0にならなかった場合は、@qの値をPHPまたは任意のフラグに戻したいのです。これを実現する方法がわかりません。誰かが私を正しい方向に向けることができれば、私はそれをいただければ幸いです。

ありがとう

4

2 に答える 2

1

これは機能しません:

$res = mysql_fetch_array( mysql_query( "SELECT @q" ) );
print_r( $res );
于 2012-06-19T16:09:56.127 に答える
1

他の場合と同じように、それを選択するだけです。

$res = mysql_query("SELECT @q AS q") or die(mysql_error());
$row = mysql_fetch_assoc($res);
echo $row['q'];
于 2012-06-19T16:10:30.147 に答える