Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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,我试图将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(

我试图将mySQL语句中的
作为
变量分配为变量,以便处理结果。然而,我无法将这一切分配给这些虚荣者

mySQL
SELECT
语句如下

$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);

要解决此问题,我需要更改什么?

尝试删除查询中的括号,如

movie = ':movie' to movie = :movie
试试这个

echo '<pre>';
 print_r($row);
echo';
打印(行);

如果在数组中没有得到任何值,请检查查询是否有任何错误使用此代码。使用
提取($row)
用于直接为$row数组中的键分配值

$row['maxups']=5;
$row['minups']=2;
extract($row);   
echo $maxups."-".$minups;
本摘录($row);用于为键的

例如:


输出:5-2

接下来会发生什么??你犯了什么错误??你所说的无法分配给这些虚荣是什么意思?你的实际问题是什么?你检查错误日志了吗?对不起,我应该提到根本没有错误。不返回任何内容。您不需要“AS”字样。这主要是用于子查询。当我手动分配
WHERE=
时,查询本身工作正常,因此我想我分配
:movie bindValue
的方式一定有问题。谢谢您的帮助。然而,我现在认为问题在于
WHERE=
语句中变量的赋值方式。查询是否返回值?使用代码打印r($row);给我数组输出..每个变量在数组中的返回值为NULLecho“选择最小值(ups)作为minups,最大值(ups)作为maxups,最小值(dows)作为mindowns,最大值(score)作为minscore,最大值(score)作为maxscore,最小值(comments)作为mincomments,最大值(comments)作为maxcomments,最小值(totalVotes)作为mintotalvotes,最大值(totalVotes)作为来自reddit的MaxTotalVoces,其中movie='””$redditMovies->reddit。“”;在mysql服务器中运行此查询。这是否从查询浏览器返回任何值?请检查您的查询。它将返回值,表示它确实有效$stmt=$conn->prepare(“选择min(ups)作为minups,max(ups)作为maxups,min(dows)作为mindowns,max(score)作为minscore,max(score)作为maxscore,min(comments)作为mincomments,max(comments)作为minotalvotes,min(totalVotes)作为minotalvotes,max(totalVotes)作为来自reddit的maxtotalvoces,其中movie=”“$redditMovies->->.””; $stmt->execute();那应该去哪里?它有什么作用?您能在您的答案中添加更多细节吗?@Default它将帮助用户调试&之后在他的回复中帮助我们解决他的问题。基于用户提供的信息的唯一开始。返回的是空值数组。当我手动分配
WHERE=
时,查询本身工作正常,因此我猜我分配
:movie bindValue
检查
var\u dump($stmt->bindValue(“:movie”,$redditMovies->reddit,PDO::PARAM\u INT”)的输出时一定有问题应该是
bool(true)
返回值
bool(true)
$row['maxups']=5;
$row['minups']=2;
extract($row);   
echo $maxups."-".$minups;