0
這個函數在失敗時應該返回false
,但在我的情況下,它沒有返回任何東西,而是崩潰。db->查詢在mysqli中崩潰php
echo "This gets printed" ;
$x = $db->query("SELECT * FROM something WHERE id=123 AND name='abc'");
echo "This does not get printed";
現在,如果我回顯實際的查詢字符串,複製粘貼到命令行的mysql,它是一個有效的查詢。我能想到的唯一的事情就是它可能與它是一個遞歸查詢有關,並且連續調用$db->query
兩次可能無效。這裏或多或少是我的流程:
function recursiveQuery ($result)
{
$temp = array();
while ($row = $result->fetch_assoc())
{
$temp [ 'name' ] = $row [ 'name' ];
$id = $row [ 'id' ];
$temp [ 'sub' ] = recursiveQuery ($db->query("SELECT * FROM something WHERE parent_id=$id"));
}
return $temp;
}
recursiveQuery ($db->query("SELECT * FROM something WHERE parent_id=0"));
這是無效的嗎?我應該如何重組它?
爲什麼不只是使用JOIN? – Scottymeuk
它適用於文件夾,因此可以有無限數量的連接 – puk
如果您在任何級別上都有不止一個項目,則您的函數將永遠不會返回預期結果。 – Arjan