为什么尽管查询查找记录,mysql 数据没有拉入表单,查找值是否需要是唯一的


Why is mysql data not pulling into form despite query finding record, does look up value need to be unique?

我有以下代码,如果搜索框值与 MYSQL 中的行和属性Client_Name匹配,它应该从 mysql 数据库中提取数据。

请参阅 http://www.recruitingblt.comli.com/add-new-sales-record.html。

找到匹配项后,表单会恢复(尝试 James Dean(,并且不会自动填充我想要的字段(现在我只是要求Client_Address、Client_Phone 和 Attn_Email1 进行测试(。这些是 mysql 表 bltrecruiting 中的列名。

我在想也许Client_Name需要是唯一的,比如我有公司Microsoft,并且有多个行,尽管所有Microsoft记录都相同,但查询是否无法拉取地址、电话等?查找值是否需要唯一?

<?php
$regnum = $_GET['regnum']; 
//////////regnum is named box at top of form page (Client Name Box) 
//////Connection which seems to work fine 
$db_host = 'mysql6.000webhost.com';
$db_username = '********';
$db_password = '********';
$db_name = 'a8748341_bltrec';
mysql_connect( $db_host, $db_username, $db_password) or die(mysql_error());
mysql_select_db($db_name); 
////// Check for the Client Name which is a field Client_Name in the database - Should Client_Name be unique? 
$result = mysql_query("SELECT * FROM bltrecruiting WHERE Client_Name='$regnum'") or
die(mysql_error());
$row = mysql_fetch_array( $result );
if (empty($row[Client_Name]))
{
        echo "No previous record of Client: $regnum <br>";
        echo "Please try again <br>" ?>
        <div id=regcon>
            <FORM NAME = "reg" action=database.php>
            <div style=width:150px; float:left; display:inline-block; font-family: Verdana;
            font-size: 12px; padding-left:13px;> Client Name: </div>
            <input type="text" id="textbox" name="regnum" size="20"/>
            <input name="Submit"  type="submit" value="Get Form"/>
            </form>
        </div>
 }
else
{
///////// Get the fields from the database
    $address = $row['Client_Address'];
    $phonenumber = $row['Client_Phone'];
    $name= $row['Attn_Name1'];
    //add your additional fields here

    echo '<script    type="text/javascript"src="http://form.jotform.com/jsform/43438603456356?"Client_Name='.$regnum.'&Client_Address='.$address.'&Client_Phone='.$phonenumber.'&Attn_Name1='.$name.'"></script>';

}
?>
</body>
</html>

我注意到你的空($row[Client_Name](周围没有引号,但我测试了下面的代码。即使你可能有超过 1 行,你的 $row 变量的索引中也会有第 1 行的数据(你没有在mysql_fetch_array中执行 while 循环(。

if (!is_array($row) && empty($row['Client_Name']))
    {
            echo "No previous record of Client: $regnum <br>";
            echo "Please try again <br>";
    ?>
        <div id=regcon>
            <FORM NAME = "reg" action=database.php>
            <div style=width:150px; float:left; display:inline-block; font-family: Verdana;
            font-size: 12px; padding-left:13px;> Client Name: </div>
            <input type="text" id="textbox" name="regnum" size="20"/>
            <input name="Submit"  type="submit" value="Get Form"/>
            </form>
        </div>
<?php
 }
else
{
    ///////// Get the fields from the database
    $address = $row['Client_Address'];
    $phonenumber = $row['Client_Phone'];
    $name= $row['Attn_Name1'];
    //add your additional fields here
    echo '<script type="text/javascript"src="http://form.jotform.com/jsform/43438603456356?"Client_Name='.$regnum.'&Client_Address='.$address.'&Client_Phone='.$phonenumber.'&Attn_Name1='.$name.'"></script>';
}

我在本地做了一个测试,并将一些值伪造到 JavaScript URL 中 - 它们应该以这种形式出现吗?