2011-01-07 5 views
0

私のサイトでは、サイトページ(addpage.php)を作成し、そのページをクリックすることができるすべてのページ(pages.php)のリストにユーザーを送信するページがあります。 dは編集したい(editpage.php)。PHPデータベースエントリを編集する方法作成したばかりですか?

editpage.phpがpage_id変数を使用してデータベースからページの情報を選択するため、私はその変数を選択する方法がわからないので、まずpages.phpにアクセスしてこれらの変数をすべて一覧表示します。

私はaddpage.phpを完了してから直接editpage.phpに移動したいと思いますが、データベースに挿入するだけで作成されるpage_idをどのように選択すればよいですか?

addpage.php上の私のコードは最後に挿入されて、ID what'veを求めて、あなたのデータベースにクエリを実行する必要があり、基本的

$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

+0

これは解決策です(mysql_insert_id()ビット)。接続できないというエラーは、以前のmysql_connectの呼び出しによって生成されたエラーです。 'mysql_insert_id()'コメントを試す前に、情報が正しいことを確認してください。 – Qix

+0

は、mysqlをmysqliに合わせて()内のデータベース接続を追加する必要がありましたが、このメソッドは機能しました。ありがとう! – WillHerndon

0

です。

SELECT LAST_INSERT_ID() as lastId 

あなたが任意の正規のクエリと同じように(このは実際に定期的なクエリであるため)次に、あなたが値を取得する:あなたはこのこのクエリを実行しているを行うことができます。

phpには、より洗練されたmysql-insert-idという機能があります。

幸運を祈る!

0

mysqlを使用している場合は、次のクエリSELECT LAST_INSERT_ID()を実行して、最後の挿入のIDを取得できます。これによりIDが取得されます。

+0

これを使用している場合は、通常はmysqlクエリに対して何をして、テーブルを指定してループ内に出力をエコーする必要がありますか? – WillHerndon

関連する問題