SQL查询不通过MySQLi在PHP中给出结果

时间:2014-11-30 14:57:25

标签: php mysql mysqli

我在stackoverflow上创建了这个SQL查询并调整以满足我的需求,这在phpMyAdmin中有效:

$queryClassifica = "SELECT Squadra, 
SUM( CASE WHEN PuntiCasa > PuntiTrasferta THEN 2 ELSE 0 END ) punti, 
COUNT( CASE WHEN PuntiCasa >0 AND PuntiTrasferta >0 THEN 1 END ) giocate, 
COUNT( CASE WHEN PuntiCasa > PuntiTrasferta THEN 1 END ) vinte, 
COUNT( CASE WHEN PuntiTrasferta > PuntiCasa THEN 1 END ) perse, 
SUM( PuntiCasa ) PuntiCasa, 
SUM( PuntiTrasferta ) PuntiTrasferta, 
SUM( PuntiCasa ) - SUM( PuntiTrasferta ) diff_canestri
FROM ( 
SELECT SquadraCasa Squadra, PuntiCasa, PuntiTrasferta
FROM calendario
UNION ALL 
SELECT SquadraTrasferta, PuntiTrasferta, PuntiCasa
FROM calendario
)a
GROUP BY Squadra
ORDER BY Punti DESC , diff_canestri DESC";

在我的PHP页面中,我提交相同的查询,但它不起作用,如果我检查行号,它总是为0。

$result = mysqli_query($con, $queryClassifica);
$row_cnt = $result->num_rows;

当然,如果我获取查询结果,则数组为空。 哪里出错了?

1 个答案:

答案 0 :(得分:0)

看起来您正在结合面向对象的风格和程序风格。如果您的代码是以面向对象的样式编写的:

$result = $mysqli->query($queryClassifica);
$row_cnt = $result->num_rows;

$result->close();
$mysqli->close();

或程序风格:

$result = mysqli_query($link,$queryClassifica);
$row_cnt = mysqli_num_rows($result);

mysqli_free_result($result);
mysqli_close($link);

我说你最有可能把它写成程序但是试试两者。