使用PHP和MySQL从数据库中删除或编辑表单数据时出错
我的代码中的一切似乎都很好,除了我尝试编辑/删除已查询的数据时 删除不起任何作用。。。“编辑”会给我一个错误,如下所示: 当前代码:(由于隐私原因缺少登录/数据库信息):使用PHP和MySQL从数据库中删除或编辑表单数据时出错,php,mysql,sql,database,forms,Php,Mysql,Sql,Database,Forms,我的代码中的一切似乎都很好,除了我尝试编辑/删除已查询的数据时 删除不起任何作用。。。“编辑”会给我一个错误,如下所示: 当前代码:(由于隐私原因缺少登录/数据库信息): 首先,使用准备好的语句来防止SQL注入。 现在请注意您的错误: 雇主表中没有列eid: CREATE TABLE IF NOT EXISTS `Employer` ( `EmployerID` int(60) NOT NULL, `CompName` varchar(60) NOT NULL, `Address`
首先,使用准备好的语句来防止SQL注入。 现在请注意您的错误: 雇主表中没有列eid:
CREATE TABLE IF NOT EXISTS `Employer` (
`EmployerID` int(60) NOT NULL,
`CompName` varchar(60) NOT NULL,
`Address` varchar(20) NOT NULL,
`Phone` int(10) NOT NULL,
`Email` varchar(30) NOT NULL,
`PosTitle` varchar(30) NOT NULL,
`Description` varchar(100) NOT NULL,
`Location` varchar(35) NOT NULL,
`Skill1` varchar(20) NOT NULL,
`Experience1` int(10) NOT NULL,
`Skill2` varchar(20) NOT NULL,
`Experience2` int(11) NOT NULL,
`Skill3` varchar(20) NOT NULL,
`Experience3` int(11) NOT NULL,
`Need` varchar(15) NOT NULL,
PRIMARY KEY (`EmployerID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
您引用的列名命名为EmployerID
因此,您的对账单必须是从雇主处删除,其中EmployerID=$eid
由于employerId是一个整数而不是字符字段,因此不需要在其周围加上单引号
以下select
语句中也存在相同的错误
然后你混合使用
mysqli.*
API和mysql.*
(mysql.\u errr()
)。将其更改为mysqli\u error
首先,使用准备好的语句来防止SQL注入。
现在请注意您的错误:
雇主表中没有列eid:
CREATE TABLE IF NOT EXISTS `Employer` (
`EmployerID` int(60) NOT NULL,
`CompName` varchar(60) NOT NULL,
`Address` varchar(20) NOT NULL,
`Phone` int(10) NOT NULL,
`Email` varchar(30) NOT NULL,
`PosTitle` varchar(30) NOT NULL,
`Description` varchar(100) NOT NULL,
`Location` varchar(35) NOT NULL,
`Skill1` varchar(20) NOT NULL,
`Experience1` int(10) NOT NULL,
`Skill2` varchar(20) NOT NULL,
`Experience2` int(11) NOT NULL,
`Skill3` varchar(20) NOT NULL,
`Experience3` int(11) NOT NULL,
`Need` varchar(15) NOT NULL,
PRIMARY KEY (`EmployerID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
您引用的列名命名为EmployerID
因此,您的对账单必须是从雇主处删除,其中EmployerID=$eid
由于employerId是一个整数而不是字符字段,因此不需要在其周围加上单引号
以下select
语句中也存在相同的错误
然后你混合使用
mysqli.*
API和mysql.*
(mysql.\u errr()
)。将其更改为mysqli\u error
问题自行解释,您的表中没有eid
列。错误是自解释的。该列不存在于您的表中,请不要在此处转储整个应用程序。另外,请了解有关循环和数组的。您至少重复了两次状态选择器。如果采用正确的方法,可以将其清理为四行代码。@TheHouse:我很确定我们都会记住您需要提高php技能,因为我们之前都经历过这一过程(很久以前,对于我们中的一些人来说,这是一个遥远的星系…^^^),而且我们每天都在学习!这就是为什么谷歌搜索错误、阅读教程和获取旧答案非常有用的原因……请不要破坏你的帖子。一旦你发布了一个问题,它就属于Stack Overflow社区(在CC by SA许可证下)。如果您想取消此帖子与您的帐户的关联,请参阅问题说明,您的表中没有eid
列。错误是不言自明的。该列不存在于您的表中,请不要在此处转储整个应用程序。另外,请了解有关循环和数组的。您至少重复了两次状态选择器。如果采用正确的方法,可以将其清理为四行代码。@TheHouse:我很确定我们都会记住您需要提高php技能,因为我们之前都经历过这一过程(很久以前,对于我们中的一些人来说,这是一个遥远的星系…^^^),而且我们每天都在学习!这就是为什么谷歌搜索错误、阅读教程和获取旧答案非常有用的原因……请不要破坏你的帖子。一旦你发布了一个问题,它就属于Stack Overflow社区(在CC by SA许可证下)。如果你想把这篇文章从你的帐户中分离出来,请看啊,是的,我现在看到了这个错误。非常感谢。我现在可以删除一条记录,之后什么也没发生。我还更新了编辑函数://$sql=“select*fromEmployerId='$eid'”//我想这是因为我是如何写代码的。啊,是的,我现在看到了那个错误。非常感谢。我现在可以删除一条记录,之后什么也没发生。我还更新了编辑函数://$sql=“select*fromEmployerId='$eid'”//我假设这是因为我是如何编写代码的。
CREATE TABLE IF NOT EXISTS `Employer` (
`EmployerID` int(60) NOT NULL,
`CompName` varchar(60) NOT NULL,
`Address` varchar(20) NOT NULL,
`Phone` int(10) NOT NULL,
`Email` varchar(30) NOT NULL,
`PosTitle` varchar(30) NOT NULL,
`Description` varchar(100) NOT NULL,
`Location` varchar(35) NOT NULL,
`Skill1` varchar(20) NOT NULL,
`Experience1` int(10) NOT NULL,
`Skill2` varchar(20) NOT NULL,
`Experience2` int(11) NOT NULL,
`Skill3` varchar(20) NOT NULL,
`Experience3` int(11) NOT NULL,
`Need` varchar(15) NOT NULL,
PRIMARY KEY (`EmployerID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;