2017-02-03 34 views
0

這裏是我的代碼選擇其中的mysqli的php沒有返回結果

<?php 
// create connection 
$conn = new mysqli($server_name, $user_name, $pwd, $db_name); 
// check connection 
if ($conn->connect_error) 
{ 
    die("Connection failed: " . $conn->connect_error); 
} 
echo "Connected "; 
$select_query = 'SELECT * FROM ftrpm WHERE (my_id = "" || my_id IS NULL)'; 
$selected = mysqli_query($conn, $select_query); 
var_dump($selected); 
mysqli_close($conn); 
?> 

我沒有得到任何結果。

Connected 
object(mysqli_result)#2 (5) 
{ 
    ["current_field"]=> int(0) 
    ["field_count"]=> int(15) 
    ["lengths"]=> NULL 
    ["num_rows"]=> int(1) 
    ["type"]=> int(0) 
} 

相同的查詢在我的phpmyadmin上工作得很好。哪裏不對?

+0

首先提取你的'$ selected'得到的結果(有一個記錄'[ 「NUM_ROWS」] => INT(1)'在'$ selected' –

回答

3

從你var_dump()你看到有事實上返回的行,您可以通過["num_rows"]=> int(1)告訴行。

你只需要先取回它,使用mysqli_fetch_assoc($selected);

$selected = mysqli_query($conn, $select_query); 
$row = mysqli_fetch_assoc($selected); 
var_dump($row); 
// Can be accessed with indexes the same as the colum-name, like 
// $row['id'] 

如果你有多個行,你可以用

while ($row = mysqli_fetch_assoc($selected)) { 
    // Use $row here 
} 
+0

感謝。這有助於 –

+0

@RubenKannan如果此答案解決了您的問題,並且您認爲這是給出的最佳答案,請接受它爲已解決。請參閱[接受答案](http://stackoverflow.com/help/accepted-answer)。:-) – Qirel

+1

我正在測試解決方案。它的工作原理和我標記爲已回答。再次感謝 –

2

mysqli_query()返回一個對象

,如果你想獲取你必須使用mysqli_fetch_array()mysqli_fetch_assoc()

​​
0

環比他們可以直接從核心文檔爲得到這個,

$select_query = 'SELECT * FROM ftrpm WHERE (my_id = "" || my_id IS NULL)'; 

if ($result = mysqli_query($conn, $select_query)) { 

    /* fetch associative array */ 
    while ($row = $result->fetch_assoc()) { 
     print_r($row); 
    } 

    /* free result set */ 
    $result->free(); 
} 

試一試它會奏效。

0
// create connection 
    $conn = new mysqli($server_name, $user_name, $pwd, $db_name); 
    // check connection 
    if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
    } 
    echo "Connected "; 
    $select_query = 'SELECT * FROM ftrpm WHERE (my_id = "" || my_id IS NULL)'; 
    $selected = mysqli_query($conn, $select_query); 
    while($row = mysqli_fetch_assoc($selected)) 
    { 
     var_dump($row); 
    } 
    mysqli_close($conn);