2011-01-07 73 views
0

在我的网站中,我有一个页面来创建一个网站页面(addpage.php),然后将用户发送到所有页面(pages.php)的列表,他们可以点击页面, d喜欢编辑(editpage.php)。PHP如何编辑我刚刚创建的数据库条目? (基本)

我这样做是因为我的editpage.php使用page_id变量从数据库中选择页面的信息,我不知道如何选择该变量,而不先去pages.php列出所有这些变量。

我希望能够完成addpage.php,然后直接进入editpage.php - 但是如何选择只会在插入数据库时​​创建的page_id?

我对addpage.php代码基本上

$q = "INSERT INTO pages (page_name, page_content) VALUES ('$name', '$content')"; 
$r = mysqli_query ($dbc, $q); 

     if (mysqli_affected_rows($dbc) == 1) { // If it ran OK. 
      // send to pages.php 
     } else { // If it did not run OK. 
      echo '<p>The page has NOT been added</p>'; 
     } 

回答

1
$q = "INSERT INTO pages (page_name, page_content) VALUES ('$name', '$content')"; 
$r = mysqli_query ($dbc, $q); 
$id=mysql_insert_id(); 

    if (mysqli_affected_rows($dbc) == 1) { // If it ran OK. 
     // send to pages.php 
    } else { // If it did not run OK. 
     echo '<p>The page has NOT been added</p>'; 
    } 

您可以检查php manual

+0

感谢您添加此代码 - 虽然它给了我一个关于无法连接到数据库的错误?我不知道为什么 - 传入数据库的变量。 – WillHerndon 2011-01-07 20:14:42

0

你必须做一个查询到您的数据库,要求搞什么名堂了最后插入的ID。为此,您可以运行此查询:

SELECT LAST_INSERT_ID() as lastId 

然后你使用任何常规查询(因为这是一个常规查询其实)你获得的价值。

在php中有一个叫mysql-insert-id的函数,它更加优雅。

祝你好运!

0

如果您使用的是mysql,可以通过运行以下查询SELECT LAST_INSERT_ID()来获取最后一个插入的ID。这会让你的身份证。

+0

如果我使用这个,我必须做我通常为mysql查询做什么,并指定一个表,然后在循环中回显输出? – WillHerndon 2011-01-07 20:16:08

相关问题