因此,我尝试更改参考标题下的参考顺序,因为在一个参考下有多个参考,但这里的问题是我无法更改它们的顺序。如果我只是将代码直接放入phpmyadmin中,它就可以工作,但是由于某种原因,它似乎在这里并不起作用。
而且我不知道为什么。我试着抓住,但没有给我任何错误
这是我的方法
public function changeHeadingPositions(array $positions) {
$count = count($positions);
$return = '';
for ($i=1; $i <= $count ; $i++) {
$sql = 'UPDATE ' . $this->headingsTable . ' SET position = :pos WHERE headingID = :headingID';
$sql = $this->connect()->prepare($sql);
$sql->execute(['pos' => $i, 'headingID' => (int)$positions[$i-1]]);
$return = $return . ' Otsikon ' . $positions[$i-1] . ' sijainti on nyt ' . $i . '<br>';
}
return $return;
}
public function changeReferencePositions(array $positions) {
$count = count($positions);
$return = '';
for ($i = 1; $i <= $count; $i++) {
$sql = 'UPDATE ' . $this->refsTable . ' SET position = :pos WHERE refID = :refID';
$sql = $this->connect()->prepare($sql);
$sql->execute(['pos' => $i, 'refID' => (int)$positions[$i-1]]);
$return = $return . ' Referenssin ' . $positions[$i-1] . ' sijainti on nyt ' . $i . '<br>';
}
return $return;
} 这是我用来调用它的代码
declare(strict_types =1); include 'includes/class-autoloader.inc.php';
$array0 = array(4, 3, 2, 1);
$object = new Reference(); echo $object->changeHeadingPositions($array0);
$array1 = array(5, 4, 3, 2, 1);
echo $object->changeReferencePositions($array1); 那我在做什么错?
问题来源于stack overflow
好的,我通过在数据库中被称为引用''的refsTable的末尾添加
这些来修复它。
所以现在代码看起来像这样。
public function changeReferencePositions(array $positions) {
$count = count($positions);
$return = '';
for ($i = 1; $i <= $count; $i++) {
$sql = 'UPDATE `' . $this->refsTable . '` SET position = :pos WHERE refID = :refID';
$sql = $this->connect()->prepare($sql);
$sql->execute(['pos' => $i, 'refID' => (int)$positions[$i-1]]);
$return = $return . ' Referenssin ' . $positions[$i-1] . ' sijainti on nyt ' . $i . '<br>';
}
return $return;
}
似乎MySQL不喜欢没有这些``引用的引用
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。