2015-10-20 110 views
0

我看到有很多关于类似问题的其他类似帖子,但其中没有一个解决了我的问题。MySQL查询在PHP中使用时返回空结果,但在MySQL客户端中完美工作

我有以下PHP文件:

<?php 
$servername = "localhost"; 
$username = "myusername"; 
$password = "mypassword"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password); 

// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 
echo "Connected successfully"; 

$sql = "SELECT DISTINCT fase FROM tornei WHERE categoria='18' AND edizione='4' AND anno='2015'"; 
$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 
    // output data of each row 
    while($row = mysqli_fetch_assoc($result)) { 
     echo "fase: " . $row["fase"]; 
    } 
} else { 
    echo "0 results"; 
} 

mysqli_close($conn); 
?> 

当一个MySQL客户端上执行的查询正确返回预期的结果:

+--------+ 
| fase | 
+--------+ 
| gironi | 
+--------+ 

在日志中,我得到以下错误:

PHP Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/admin/domains/domain.com/public_html/query.php on line 18 
+1

你应该叫mysqli_error()调用查询后,看看是否有你的语句或数据库连接错误,不开 – Jens

+0

试着看一下mysqli_error的'输出($ conn)'看看是否对任何问题有所暗示。 –

回答

2

您还没有在mysqli_connect中放入“数据库”名称。正确的语法是在这里:

$con=mysqli_connect("localhost","my_user","my_password","my_db"); 
相关问题