1

我有以下查询:

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

(在这里为伟大的查询投票:Removing a quantity from multiple rows in a database

我正在通过 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 回答