0

AS結果を処理できるように、mySQLステートメントの変数を変数に割り当てようとしています。ただし、これらの変数にを割り当てることはできません。

mySQLSELECTステートメントは次のとおりです

$sql = "SELECT min(ups) AS minups, max(ups) AS maxups, min(downs) AS mindowns, max(downs) AS maxdowns, min(score) AS minscore, max(score) AS maxscore, min(comments) AS mincomments, max(comments) AS maxcomments, min(totalVotes) AS mintotalvotes, max(totalVotes) AS maxtotalvotes FROM reddit WHERE movie = ':movie'";
    $stmt = $conn->prepare( $sql );
    $stmt->bindValue( ":movie", $redditMovies->reddit, PDO::PARAM_INT );
    $stmt->execute();
    $row = $stmt->fetch();

私はそれらをこれらの変数に割り当てようとしています

$minups = $row ['minups'];
$maxups = $row ['maxups'];
$rups = (int)($maxups - $minups);
print_r($rups);
$mindowns = $row ['mindowns'];
$maxdowns = $row ['maxdowns'];
$rdowns = (int)($maxdowns - $mindowns);
$minscore = $row ['minscore'];
$maxscore = $row ['maxscore'];
$rscore = (int)($maxscore - $minscore);
$mincomments = $row ['mincomments'];
$maxcomments = $row ['maxcomments'];
$rcomments = (int)($maxcomments - $mincomments);
$mintotalvotes = $row ['mintotalvotes'];
$maxtotalvotes = $row ['maxtotalvotes'];
$rtotalvotes = (int)($maxtotalvotes - $mintotalvotes);

この問題を解決するには何を変更する必要がありますか?

4

3 に答える 3

1

次のように、クエリの括弧を削除してみてください。

movie = ':movie' to movie = :movie
于 2013-03-26T13:15:55.313 に答える
1

このコードを使用してください。useextract($row)は、 $row配列内のキーの値を直接割り当てるために使用されます

    $stmt = $conn->prepare("SELECT min(ups) AS minups, max(ups) AS maxups, min(downs) AS mindowns, max(downs) AS maxdowns, min(score) AS minscore, max(score) AS maxscore, min(comments) AS mincomments, max(comments) AS maxcomments, min(totalVotes) AS mintotalvotes, max(totalVotes) AS maxtotalvotes FROM reddit WHERE movie = ':movie'");
    $stmt->bindValue( ":movie", $redditMovies->reddit, PDO::PARAM_INT );
    $stmt->execute();
    $row = $stmt->fetch();

    extract($row);
    echo $minups;  // it prints the minups value from the result set $row.

    $rups = (int)($maxups - $minups);
    $rdowns = (int)($maxdowns - $mindowns);
    $rscore = (int)($maxscore - $minscore);
    $rcomments = (int)($maxcomments - $mincomments);
    $rtotalvotes = (int)($maxtotalvotes - $mintotalvotes);

このextract($ row); キーの値を割り当てるために使用されます

例:

$row['maxups']=5;
$row['minups']=2;
extract($row);   
echo $maxups."-".$minups;

出力:5-2

于 2013-03-26T13:24:22.713 に答える
0

これを試して

echo '<pre>';
 print_r($row);

配列に値がない場合は、エラーがあるかどうかクエリを確認してください

于 2013-03-26T13:18:21.977 に答える