【发布时间】:2020-03-10 13:05:53
【问题描述】:
所以我试图更改我的参考标题下的参考顺序,因为我在一个下有多个,但这里的问题是我无法更改它们的顺序。如果我只是将代码直接放入 phpmyadmin 中,它可以工作,但由于某种原因,它似乎在这里无法正常工作。
我也不知道为什么。我试过 try catch 但它没有给我任何错误
这是我的方法
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);
那我做错了什么?
【问题讨论】:
-
所以您是说其中一个功能有效而另一个无效?您是否启用了错误消息以检查是否有任何问题?
-
是的,它没有给我任何错误:/
-
哪一个有效?还要检查您的数据库连接是否有
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );,以确保引发错误。