2013-08-21 173 views
0

我有這個代碼,我插入帖子的詳細信息到MySQL和另一個功能,以添加照片的詳細信息到MySQL。我怎樣才能得到這個職位的最後插入id來插入照片表作爲POST_ID在函數中傳遞變量php

function add_img($whichimg,$title) 
{ 
    $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); 
    $sql = "INSERT INTO photos (post_id,title, src) VALUES ('$this->$postid','$title','$whichimg')"; 
    $add_to_db = $conn->query($sql) or die(mysqli_error()); 
    return $add_to_db; 
} 

function add_post($subject,$content) 
{ 
    $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); 
    $sql = "INSERT INTO posts (subject, content) VALUES ('$subject','$content')"; 
    $add_to_db = $conn->query($sql) or die(mysqli_error()); 
    $postid=$mysqli->insert_id; 

} 

add_post首次調用.. add_img被稱爲幾次後視照片數量

有一種將這個函數中的thi $ id調用到另一個上的方法?

與其解決 $ this-> id;

+0

我不使用mysqli - 我已經從mysql擴展直接移到了PDO。但是,在我有的一些舊代碼中,我發現緊跟在插入查詢之後的是以下內容。 '$ threadId = mysql_insert_id();' – enhzflep

+0

謝謝。對我來說問題是要將$ threadID插入到另一個表中。我怎麼能在另一個函數中調用它..我假設這樣的東西 - > threadID .. ddnt工作雖然 – user2668436

+0

一種樂趣。我猜第二個函數首先被調用。在這種情況下,只需返回mysql_insert_id給你的值即可。然後,按照Sasanka Panguluri的建議,將該返回值用作add_img的參數之一。 I.e'add_img($ whichimg,$ title,$ postId)' – enhzflep

回答

1

接受了function add_img($whichimg,$title)

另一說法是

function add_img($whichimg,$title,$postid) 

由於您add_img需要$postid,你應該從add_post($subject,$content) 返回它的函數內部,而不是$postid=$mysqli->insert_id;,只是說return $mysqli->insert_id;

最後,當你調用這些方法時,確保你這樣做:

$id = add_post(<...>,<...>); 
add_img(<...>,<...>,$id); 
+0

嗨。感謝..我現在能夠得到插入ID ..我有麻煩得到,並在另一個功能使用它..因爲我的帖子和照片處理不同的功能 – user2668436

+0

我插入代碼塊的一部分到描述是否有幫助 – user2668436

+0

感謝您的幫助解決了它 – user2668436