PHP如何编辑我刚刚创建的数据库条目?(基本)

PHP如何编辑我刚刚创建的数据库条目?(基本),php,mysql,sql,insert,Php,Mysql,Sql,Insert,在我的站点中,我有一个页面来创建一个站点页面(addpage.php),然后将用户发送到所有页面的列表(pages.php),用户可以从中单击他们想要编辑的页面(editpage.php) 之所以这样做,是因为我的editpage.php使用page_id变量从数据库中选择页面的信息,我不知道如何选择该变量,而不先转到pages.php列出所有这些变量 我希望能够完成addpage.php,然后直接转到editpage.php——但如何选择仅在插入数据库时创建的页面id 我在addpage.ph

在我的站点中,我有一个页面来创建一个站点页面(addpage.php),然后将用户发送到所有页面的列表(pages.php),用户可以从中单击他们想要编辑的页面(editpage.php)

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

我希望能够完成addpage.php,然后直接转到editpage.php——但如何选择仅在插入数据库时创建的页面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>';
        }
$q=“插入页面(页面名称,页面内容)值(“$name”,“$content”)”;
$r=mysqli_查询($dbc,$q);
if(mysqli_影响的_行($dbc)==1){//如果它运行正常。
//发送到pages.php
}否则{//如果它没有运行,则为OK。
回显“未添加页面”

; }
您必须对数据库进行查询,询问上次插入的id是什么。您可以通过运行此查询来执行此操作:

SELECT LAST_INSERT_ID() as lastId
然后像处理任何常规查询一样获得值(因为这实际上是一个常规查询)

在php中有一个名为的函数,它更像elgant


祝你好运

如果您使用的是mysql,您可以通过运行以下查询来获取上次插入的ID
选择last\u insert\u ID()
。这将获得ID。

$q=“插入页面(页面名称,页面内容)值(“$name”,“$content”)”;
$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>';
    }
$r=mysqli_查询($dbc,$q); $id=mysql_insert_id(); if(mysqli_影响的_行($dbc)==1){//如果它运行正常。 //发送到pages.php }否则{//如果它没有运行,则为OK。 回显“未添加页面”

; }

您可以检查。

感谢您添加此代码-尽管它给了我一个无法连接到数据库的错误?我不知道为什么-变量被传递到数据库中。这就是解决方案(mysql\u insert\u id()bit)。您无法连接的错误是以前调用
mysql\u connect
时产生的错误。在尝试使用
mysql\u insert\u id()
注释之前,请确保信息正确。必须将mysql调整为mysqli,并在()中添加数据库连接,但此方法有效。谢谢如果我使用这个,我是否必须像通常对mysql查询那样,指定一个表,然后在循环中回显输出?