Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MySQL-按数组更新数据_Php_Mysql - Fatal编程技术网

PHP MySQL-按数组更新数据

PHP MySQL-按数组更新数据,php,mysql,Php,Mysql,我是PHP的新手。我在数组中有如下数据: Array ( [0] => Mr. ABC [1] => Ms. XYZ ) 我正在尝试更新MySQL中具有相同id的两行。我的代码是: $n = count($p_title); for ($i = 0; $i < $n; $i++) { $query=("UPDATE table SET p_title='$p_title[$i]' WHERE q_no='$q_no'");

我是PHP的新手。我在数组中有如下数据:

Array ( [0] => Mr. ABC [1] => Ms. XYZ ) 
我正在尝试更新MySQL中具有相同id的两行。我的代码是:

$n = count($p_title);
for ($i = 0; $i < $n; $i++) 
{                   
    $query=("UPDATE table SET p_title='$p_title[$i]' WHERE q_no='$q_no'");
    $result=mysqli_query($link, $query) or die(mysqli_error($link));
}
$n=count($p_title);
对于($i=0;$i<$n;$i++)
{                   
$query=(“更新表集p_title=“$p_title[$i]”,其中q_no=“$q_no”);
$result=mysqli_query($link,$query)或die(mysqli_error($link));
}

更新这两行时,获取数据“Ms.XYZ”。我弄错了:(.

如果您不能通过ID区分行,您可以尝试一下

WHERE q_no='$q_no' LIMIT 1,$i
限额包括:

  • 影响的行数
  • 查询应开始的行数
这不是一个干净的解决方案…它可能会起作用


当然,两行都在更新,在每次循环迭代中,您都会更新所有行
其中q_no='$q_no'
。您如何知道希望哪一行具有哪一个值?如何“两行具有相同的id”?您如何区分它们?您需要为每一行提供唯一的id(即行的唯一id)将数据更新为相关数据。您的数据库shema pls.主键是什么?甚至不要想说您没有!变量
$q_no
来自何处?向我们展示更多信息code@inetphantom:ppid是主键。这可能会起作用,但如果没有ORDER BY,则无法保证行的顺序符合您的要求预期。@Michael Bausano:
q_no='$q_no'限制1,$i
给出SQL语法错误:(@Vikram Oh,那么您必须
LIMIT 1,“.$i.”
将变量放入字符串中。@RocketHazmat是的,这不是一个好的解决方案,如果可能的话,数据库中应该有一个唯一的ID。但我尝试了使用给定选项的解决方案。它可能被用作问题的不同观点,即使它不是“干净的”,它可能可以作为一个解决方案。@MichaelBausano:不,它不起作用。同样的SQL语法错误。今天会再次出现这种错误:(。谢谢大家。