将声明帖子页面插入自身问题

时间:2011-10-20 15:17:29

标签: php mysql

我正在尝试将页面提交给自己,但有些原因导致以下代码无效。另外,如何在成功插入数据后返回table1主键ID?我有一个需要此ID的子表。感谢您的任何建议。

<?php
include('db_login.php');
$connection = mysql_connect( $db_host, $db_username, $db_password );

if (!$connection){
  die ("Could not connect to the database: <br />". mysql_error());
}
// Select the database
$db_select=mysql_select_db($db_database);
if (!$db_select){
  die ("Could not select the database: <br />". mysql_error());

  if ($_POST['Submit']) 
  { 
    $first = $_POST["first"];
    $first = mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes($first): $first);
    $last = $_POST["last"];
    $last = mysql_real_escape_string(get_magic_quotes_gpc() ? stripslashes($last): $last);


    $insertsql = "INSERT INTO table1(FirstName,LastName) VALUES ('".$first."', '" .$last. "')";

    $result1 = mysql_query($insertsql) or die(mysql_error());
 }
 ?>
 <form name="hotlineForm" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"
  method="post">
 <input id="first" type="text">
 <input id="last" type="text">
 <input type="submit" value="Submit"></form></body>

5 个答案:

答案 0 :(得分:1)

哪个部分没有在帖子上工作?你没有输入你的if语句吗?

要获取最后一个插入的ID,请在$ result1 = mysql_query(...)后使用以下内容:

$primary_id = mysql_insert_id()

http://php.net/manual/en/function.mysql-insert-id.php

答案 1 :(得分:0)

更改表单输入以包含名称属性。没有它们,您的$_POST将为空。

<input name='first' id="first" type="text">
<input name='last' id="last" type="text">
<input name='Submit' type="submit" value="Submit">

如评论中所述,不应使用get_magic_quotes。您已经在输入上正确调用了mysql_real_escape_string()

点击后,从mysql_insert_id()获取ID:

$result1 = mysql_query($insertsql) or die(mysql_error());
$new_id = myqsl_insert_id();

答案 2 :(得分:0)

if ($_POST['Submit'])

我没有看到具有此名称的表单元素。

尝试:

if (isset($_POST['first']) && isset($_POST['last']))

要获取插入的ID,您可以使用:

mysql_insert_id();

答案 3 :(得分:0)

您在这里错过了结束}

if (!$db_select){
  die ("Could not select the database: <br />". mysql_error());
}  <<----  Close your if statement here.
if ($_POST['Submit']) 

目前只有在无法选择数据库时才会调用执行实际工作的代码。
不是很有用。

这就是适当缩进很重要的原因 如果您对缩进有所了解,您会立即发现这些错误。

答案 4 :(得分:0)

使用输入字段的名称并检查它是不是submit