这可能是因为变量@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());发布于 2011-08-15 21:07:22
因为这是一个user defined variable,
仅适用于相同的会话/连接
您可以在一条语句中将值存储在用户定义的变量中,然后在稍后的另一条语句中引用它。这使您能够将值从一个语句传递到另一个语句。用户定义的变量为connection-specific.也就是说,由一个客户端定义的用户变量不能被其他客户端看到或使用。当给定客户端连接退出时,该客户端连接的所有变量都会自动释放。
有一个简单的解决方案-- php mysqli_multi_query
发布于 2011-08-15 21:05:39
您可以在DB中创建一个执行计数的字段,然后从那里检索数据。
https://stackoverflow.com/questions/7065244
复制相似问题