Php 是否使用逗号分隔的值更新表中的值?

Php 是否使用逗号分隔的值更新表中的值?,php,mysql,Php,Mysql,我有一些内容是通过php://input看起来像这样: 123,567,287,124,172,846,372,187 我想在此基础上更新一个表,比如 UPDATE char_ SET id=123 WHERE SortNumber=1 $variable=123,567,287,124,172,846,372,187 $anothervariable=$variable = str_replace(",", "\r\n", $variable); $i=0; $i++; mysq

我有一些内容是通过
php://input
看起来像这样:

123,567,287,124,172,846,372,187
我想在此基础上更新一个表,比如

UPDATE char_
SET id=123
WHERE SortNumber=1
$variable=123,567,287,124,172,846,372,187
$anothervariable=$variable = str_replace(",", "\r\n", $variable); 


$i=0;
$i++;

 mysqli_query(UPDATE char_ SET id=$anothervariable WHERE SortNumber=$i)
现在,我想我可以这样做

UPDATE char_
SET id=123
WHERE SortNumber=1
$variable=123,567,287,124,172,846,372,187
$anothervariable=$variable = str_replace(",", "\r\n", $variable); 


$i=0;
$i++;

 mysqli_query(UPDATE char_ SET id=$anothervariable WHERE SortNumber=$i)

但是,我不确定代码是否100正确,变量将是全部内容,我不知道如何为每行设置不同的变量?有什么帮助吗?

我对PHP一无所知,但可以通过一个示例伪代码大致了解一下。将所有这些数字存储在一个数组中(可能是整数数组),循环遍历该数组并调用
UPDATE
语句。希望这是有道理的

int[] arr = {123,567,287,124,172,846,372,187};

for(int i = 0; i < arr.length; i++)
{
  UPDATE char_ SET id=arr[$i] WHERE SortNumber=$i
}
int[]arr={123567287124172846372187};
对于(int i=0;i
我不知道自己是否听懂了。。但我认为第一个词是第一个,第二个是第二个,依此类推。。。也许这会给你带来一个解决办法

$variable = "123,456,789";
$input_array = explode(',',$variable);

$c = 1;

foreach($input_array as $var) {

$query = 'UPDATE char_ SET value=$var WHERE SortNumber=$c';
$c++;

}

好吧,这些数字每次都不一样。@ArtjomB.,随他们去吧;这里唯一的一点是。。将这些数字存储在数组中,然后相应地调用UPDATE语句。除非您使用的是自定义函数,否则这是无效的
mysql\u queryi
我的意思是
mysqli\u query
对此表示抱歉。我让您始终使用准备好的语句:P
$variable=“123456789”$输入数组=分解(',',$变量)$c=1;foreach($var形式的input_数组){if($stmt=mysqli_prepare($connection,$query=“UPDATE char_SET value=?WHERE SortNumber=?”)mysqli_stmt_bind_param($stmt,$var,$mysqli_stmt_execute($stmt)或die($插入时出错:'.mysqli_Error($connection))}否则{die('preparing时出错。'mysqli)($connection));}}