2012-06-27 95 views
1

我有以下代碼:整數拼接問題PHP

function isValidAuthor($authorID){ 
    $query = "SELECT * FROM jos_users WHERE id=".$authorID; 
    ... 
} 

$authorID是一個整數,並從這裏稱爲:

if(!$this->_helper->isValidAuthor($settings['default_author'])) 

然而,$query最終總是要SELECT * FROM #__users WHERE id=。我試過鑄造$authorID是一個字符串,並檢查了$settings['default_author']),這就是我想要的。我怎樣才能讓查詢使用$authorID

+4

不聽起來像一個鑄造的問題。聽起來像你的變量沒有被正確設置的地方。 –

+2

代碼有效,最有可能的情況就是'$ authorID'確實不包含你認爲它的作用。 – Wrikken

回答

1

嘗試echo $authorID;

最有可能它含有什麼也沒有....

+0

你是對的,它在代碼的早些時候變得'unset'。 (這不應該發生,但這就是你獲得外包的原因)。 – SomeKittens

-1

試試這個:

function isValidAuthor($authorID){ 
    $query = "SELECT * FROM jos_users WHERE id='".$authorID."'"; 
    ... 
} 
+0

這不起作用,'$ authorID'是一個整數,問題是它沒有正確傳遞。 – SomeKittens