2013-08-21 134 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