这可能是由于变量@count
未被识别为整数,但在我的研究中,我遇到了许多与@count = @count + 1
相似的例子;这就是为什么我在介绍时为什么会破坏我的代码时感到困惑:
$setCount = "SELECT @count:=5";
$uncategorise = "UPDATE pictures
SET category = '0',
pictureorder = @count,
@count:=@count+1
WHERE category = '$categoryID'
AND username = '$username';
$queryCount = mysql_query($setCount) or die(mysql_error());
$queryUncat = mysql_query($uncategorise) or die(mysql_error());
答案 0 :(得分:2)
因为这是user defined variable,
只能站在/可用于同一会话/连接
您可以在一个语句中将值存储在用户定义的变量中,然后在另一个语句中引用它。这使您可以将值从一个语句传递到另一个语句。用户定义的变量是特定于连接的。也就是说,其他客户端无法看到或使用由一个客户端定义的用户变量。当客户端退出时,将自动释放给定客户端连接的所有变量。
有一个简单的解决方案 - php mysqli_multi_query
答案 1 :(得分:0)
您可以在数据库中创建一个进行计数的字段,然后从那里检索数据。