1
以下是我想要做的:更新任意数量的行,将几个字段更改为SAME值。从php更新多行Mysql
$var = "1 3 5 7 9";
$query = "UPDATE tablename SET seen_before = 1 WHERE id = SET ($var);"
我的问题是:什么是确切的语法在Where子句,当我在一组看着,以及如何传递通过PHP变量的设置项。
感谢,
迈克尔
以下是我想要做的:更新任意数量的行,将几个字段更改为SAME值。从php更新多行Mysql
$var = "1 3 5 7 9";
$query = "UPDATE tablename SET seen_before = 1 WHERE id = SET ($var);"
我的问题是:什么是确切的语法在Where子句,当我在一组看着,以及如何传递通过PHP变量的设置项。
感谢,
迈克尔
$ids = "1, 3, 5, 7, 9";
$query = "UPDATE tablename SET seen_before = 1 WHERE id IN ($ids)";
如果你的ID是动态的,他们可能是,使用这样才能正确地逃离他们的SQL查询:
// Assuming $ids it's coming from an untrusted source, like $_GET
$ids = array(1, 3, 5, 7, 9);
$ids = array_map('intval', $ids);
$ids = implode(', ', $ids);
$query = "UPDATE tablename SET seen_before = 1 WHERE id IN ($ids)";
@Ionut :您需要修正$ ids或$ var。 – hobodave 2009-07-29 16:04:50