1

以下のクエリを使用して、MySQL テーブルの id という列の最大値を抽出し、その値を 1 増やして $fav_id という変数に渡すことができます。何らかの理由で、$fav_id が必要な値ではなく '0' を返しています。つまり、id 列の現在の最大値が 465 の場合、$fav_id を 466 に設定する必要があります。違う。

$sth2 = $pdo->prepare("SELECT MAX(id) AS id FROM tracks");

$sth2->setFetchMode(PDO::FETCH_OBJ);

while($row = $sth2->fetch()) {
    $fav_id = $row->id+1;
}
4

2 に答える 2

0

($row->id)+1 のように、$row->id+1 を括弧で囲み、スコープに注意してください。$fav_id を while ループの外で 0 に設定して、while ループだけよりも大きなスコープを確立することができます。

于 2012-08-16T16:43:40.387 に答える
0

PDO に関する私の知識からすると、$row->id ではなく $row[id] である必要があります。また、準備されたステートメントを実行したことはありませんが、クエリにプレースホルダーがないため、「->prepare」の代わりに「->query」を使用する必要があります

于 2012-10-22T02:22:18.863 に答える