Java 如何在android应用程序中动态更新php中的MySQL偏移量
是否有一种方法可以在此查询中动态分配Java 如何在android应用程序中动态更新php中的MySQL偏移量,java,php,android,mysql,Java,Php,Android,Mysql,是否有一种方法可以在此查询中动态分配:val1:$nextItemQuery=“SELECT*FROMitems其中size=0限制:val1,1”来自android/java的http请求? 当我必须更新表中的行时,我会执行以下操作: $nextItemQuery = "SELECT * FROM `items` WHERE picked = :picked LIMIT 2,1"; $query_params = array( ':picked' => $_POST['pic
:val1
:$nextItemQuery=“SELECT*FROM
items其中size=0限制:val1,1”代码>来自android/java的http请求?
当我必须更新表中的行时,我会执行以下操作:
$nextItemQuery = "SELECT * FROM `items` WHERE picked = :picked LIMIT 2,1";
$query_params = array(
':picked' => $_POST['picked']
);
try {
$stmt = $db->prepare($nextItemQuery);
$result = $stmt->execute($query_params);
}
在应用程序中,我将变量添加到Hashmap
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_PICKED, itPicked);
HashMap map=newhashmap();
地图。放置(TAG_PICKED,itPicked);
但是由于限制2,1
不是表中的列,我不知道如何访问它,非常感谢您的帮助。谢谢从第一眼看,整体架构似乎有点糟糕,当您需要使用LIMIT来选择特定行时,您知道有问题。我几乎是在说,整个概念是错误的。是否要使用picked=:picked更新所有行?那为什么要一一查询呢?批量查询是否不起作用?若有,原因为何?还有,您的表是什么样子的,是否有我们可以使用的主键或值?此外,如果可能,请显示您的更新SQL,也许您可以将它们组合在一起。感谢回复@JackyCheng。LIMIT 2,1
的目的是一次更新一行(因为我一次需要一行),然后继续下一行。我会使用rowID和auto_increment,但因为它在删除后留下了空白,所以它不起作用。然而,我同意您的观点,在重新考虑之后,我决定创建rowId列并手动递增它。最后,感谢您直截了当地指出,即使您一次只能修改一行,但这并不意味着您不能一次查询50行,将它们全部保存在数组/映射中,然后使用for循环“从映射获取、修改、更新”。这将“50个查询,50个更新”剪切为“1个查询,50个更新”。