SQL查询没有';t通过MySQLi在PHP中给出结果
我在stackoverflow上创建了这个SQL查询,并根据我的需要进行了调整,它在phpMyAdmin中工作:SQL查询没有';t通过MySQLi在PHP中给出结果,php,mysql,mysqli,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, CO
$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;
当然,如果我获取查询结果,数组是空的。
错误在哪里?看起来您既结合了面向对象的风格,也结合了过程风格。如果您的代码是以面向对象的样式编写的:
$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);
我想说,您很可能是程序性编写的,但请尝试两种方法。查询是否返回其他结果?粘贴echo$queryClassifica的内容。如果我尝试打印或回显$result,则在不获取结果的情况下,屏幕上不会显示任何内容,既不会显示“数组”,也不会显示资源id。echo$queryClassifica将显示查询的字符串,这是正确的,因为如果我在myPHPAdmin中复制并粘贴使用echo打印的查询,查询将给出预期的结果。