PHP员工数据库

PHP员工数据库,php,mysql,Php,Mysql,我对PHP和MySQL仍然很陌生,但我正在使用从本书中获得的所有信息创建一个数据库。我试图建立一个员工数据库,你可以添加人,按姓名搜索他们,然后删除你刚才搜索的人。最后一部分是我遇到的一些主要问题。我知道如何使用sql查询删除特定员工,但我不知道如何传递上次搜索的员工的信息,然后将其删除。我将包括搜索员工的代码,然后是我的删除页面,因为我确信其他页面是正确的 PHP代码 <?php echo "<h2>Search Results:</h2><p>";

我对PHP和MySQL仍然很陌生,但我正在使用从本书中获得的所有信息创建一个数据库。我试图建立一个员工数据库,你可以添加人,按姓名搜索他们,然后删除你刚才搜索的人。最后一部分是我遇到的一些主要问题。我知道如何使用sql查询删除特定员工,但我不知道如何传递上次搜索的员工的信息,然后将其删除。我将包括搜索员工的代码,然后是我的删除页面,因为我确信其他页面是正确的

PHP代码

<?php
echo "<h2>Search Results:</h2><p>";
$find = $_POST['find']

mysql_connect('localhost', 'username', 'password');
mysql_select_db('employedatabase');

$find = strtoupper($find);
$find = strip_tags($find);
$find = trim($find);

$EmployeeName = mysql_query("SELECT * FROM employee_data WHERE upper($EmployeeName) LIKE '%$find%'");
while ($result = mysql_fetch_array($EmployeeName))
{
    echo $result['employee_name'];
    echo "<br>";
}
$anymatches = mysql_num_rows($EmployeeName);
if ($anymatches == 0)
{
    echo "Sorry, but we could not find that employee...<br><br>";
}
echo "<b>Searched For:</b> " . $find;
?>

员工业绩
员工业绩
删除员工:
Delete.php代码

<?php
mysql_connect('localhost', 'username', 'password');
mysql_select_db('employedatabase');

$find = $_POST['find'];

$strSQL = "DELETE * FROM employee_data WHERE employee_name = $find";
header("Location: Home.html");
?>

首先,$find必须声明为
$find=$\u GET['find']
,最重要的是,出于许多原因(例如:安全性),您应该使用
method=“POST”
而不是
method=“GET”

此外,sql查询的格式也不正确<代码>从雇员数据中选择*,其中upper($EmployeeName)[…]应为
从雇员数据中选择*,其中upper($EmployeeName)[…]

您还应该使用mysqli而不是mysql,并且可能需要单独考虑(DB类中的DB内容和presenting类中的presenting内容),但是正如您所说的。。您是新手,正在努力学习;)

另外,在delete表单中,只有一个信息(大部分)被传输到php页面:
。您的php页面正在等待更多信息:员工姓名、员工地址等等


希望这有帮助:)

请在
mysql
上使用
mysqli\ucode>函数。。。事实上,你的书可能很旧,现在被认为是渎职行为。我认为更简单的方法是在搜索结果中包含员工id,然后将相同的id传递到删除页面。您在删除查询中使用该id的原因。哪本书会告诉您如何处理此问题
WHERE employee_name=$EmployeeName
你传递的变量比你需要的要多,这给你的代码增加了不必要的复杂性。你可能在寻找这样的东西:(用5票看答案)好吧,那么(是的,我仍然是一个noob)如果我将方法更改为POST,这意味着$find=$\u GET['find']应该改为$find=$\u POST['find']right?right:)GET参数将显示在url中,POST参数将被隐藏。
<?php
mysql_connect('localhost', 'username', 'password');
mysql_select_db('employedatabase');

$find = $_POST['find'];

$strSQL = "DELETE * FROM employee_data WHERE employee_name = $find";
header("Location: Home.html");
?>