无法从数据库检索数据以插入到另一个表单中


unable to retrieved data back from database to insert into another form

我有这个表格,它将操作发布到 test2.php。

     <form action="test2.php" method="post" name="add">
     <tr>
     IC NUMBER:<input name="defIc" value="" type="varchar" size="20" maxlength="20">
     NAME:<input name="defName" value="" type="varchar" size="60" maxlength="60">
    <input name="reset" type="reset" value="RESET">
    <input type="submit" name="add" value=" ADD GUARANTOR ">
    </form>

这是我的测试2.php编码。 在此测试2.php中,我结合了添加过程以将数据存储在"被告"表中。 在Test2.php中,我还包括了另一个表格,需要回调"被告IC"和"IC号码"。

           <?php   
    if (isset($_POST['add'])) {
        $defIc = addslashes($_POST['defIc']);
        $defName = addslashes($_POST['defName']);
        include 'dbconnect.php';
        $query = "INSERT INTO defendant (defIc, defName) VALUES 
            ('$defIc', '$defName')";

        echo $result = mysql_query($query);
    if ($result)
    {
    if (isset($result['defIc']))
        $defIc = $result['defIc'];
    else
        $defIc = 0;
    include 'dbconnect.php';
    $query = "Select * from defendant where defIc = '".$defIc."'";
    $result = mysql_query($query1) or die('SQL error');
    $row = mysql_fetch_array($result);
            ?>  
        DEFENDANT IC:<input name="defIc" value="<?php echo $row['defIc']; ?>"       
            type="varchar" size="20" maxlength="20" />
            DEFENDANT NAME:<input name="defName" value="<?php echo $row['defName']; ?>"          
            type="varchar" size="20" maxlength="20" />
           " 
            <?php 
    }
         else
            echo 'Add failed';   
    }
    ?>

现在的问题是,当我尝试在test2.php中回调"defIc"时,它没有出现。

碰巧的是,这段代码中的错误比最初假设的要多得多。这需要做大量的工作。

<?php
//Only include a connection once!
include_once ('dbconnect.php');  
//If the 'add' button was pressed. 
if (isset($_POST['add'])) {
    //What type of data is this? This is very insecure code.
    //Look at preg_replace or mysqli_real_eascape_string to sanitise data
    $defIc = addslashes($_POST['defIc']);
    $defName = addslashes($_POST['defName']);

    $query = "INSERT INTO defendant (defIc, defName) VALUES 
        ('$defIc', '$defName')";

    //Why did you echo the result?
    $result = mysql_query($query);
if ($result)
{
if (isset($result['defIc']))
    $defIc = $result['defIc'];
else
    $defIc = 0;
$query = "Select * from defendant where defIc = '$defIc'";
$result = mysql_query($query1) or die('SQL error');
$row = mysql_fetch_array($result);
        ?>  
    DEFENDANT IC:<input name="defIc" value="<?php echo $row['defIc']; ?>"       
        type="varchar" size="20" maxlength="20" />
        DEFENDANT NAME:<input name="defName" value="<?php echo $row['defName']; ?>"          
        type="varchar" size="20" maxlength="20" />
       " 
        <?php 
}
     else
        echo 'Add failed';   
}
?>

您包含数据库连接两次。你不能这样做。

这是我目前收集到的。我将更新任何进一步的调查结果。