Php 当检测不到更多错误时,无法将数据插入数据库
这是我的密码 我的if-else语句有问题还是insert有问题 ifisset$\u POST[添加] { $result我用它签出我的用户名 如果$result==0,那么我的数据将插入employee表,但它无法工作Php 当检测不到更多错误时,无法将数据插入数据库,php,javascript,sql,Php,Javascript,Sql,这是我的密码 我的if-else语句有问题还是insert有问题 ifisset$\u POST[添加] { $result我用它签出我的用户名 如果$result==0,那么我的数据将插入employee表,但它无法工作 { mysql_query("insert into employee(Dept_ID, Emp_Address, Emp_Age, Position, Emp_Username, Emp_Password, Emp_Fname
{
mysql_query("insert into employee(Dept_ID, Emp_Address, Emp_Age, Position, Emp_Username, Emp_Password, Emp_Fname, Emp_Lname, ContactNo_Home, ContactNo_HP, Emp_Email)
values('$dept','$add','$age','$pos','$name','$pass','$fname','$lname','$hph','$hp','$mail')");
?>
<script type="text/javascript">
alert('Registered successfully!');
</script>
<?php
}
else
{
?>
<script type="text/javascript">
alert("Username already in use!");
</script>
<?php
}
}
希望有人能帮我找出问题并解决它。
谢谢!不知道您的确切架构,或者MySQL响应时出现的错误,很难说到底是什么问题。调试断点、跳转等将帮助您确定预期发生的事情是否真的发生了 正如JohnnyJS所提到的,尽管ComFreek提到这些MySQL_*函数已被弃用,但您似乎从未使用过MySQL 建议您使用DBAL或ORM与数据库进行交互。有很多。至少是签出。 调试您的代码。这可以在编辑器中轻松完成,例如。您甚至可能从未执行过插入查询。 在应用程序外部执行查询,查看它们是否按预期工作。 您很容易受到攻击,需要引用用户提供的值。 如果您使用了一个框架,您甚至不需要直接与$\u POST交互 另外,我不建议像这里那样返回带有警报的脚本标记。最好是在表单中内联更新相应的错误-如果您使用Symfony,这将为您完成。
希望这有帮助。祝你好运!你假设所有查询都能正常工作。你每次都需要检查mysql\u查询的返回值,并进行适当的处理。你也可以从mysql\u错误中获得一些有用的信息-数据库会告诉你问题出在哪里。它们不再维护。请参阅?了解,然后重试使用或-将帮助您决定使用哪个。如果您选择PDO,。您可能忘记打开到mysql服务器的连接?mysql_queryselect*from employee,其中Emp_Username='$name';1:通过添加一些空格将select*from修改为select*from;2:Emp_Username='$name'纯粹是自杀,请参阅了解准备好的语句。并享受StackOverflow:@biziclop,我同意你的第二点。但我支持你的第一点。选择*from与选择*from相同。
$result=mysql_query("select*from employee where Emp_Username='$name'");
if($name==""||$pass==""||$fname==""||$lname==""||$hph==""||$hp==""||$mail==""||$add==""||$age==""||$pos==""||$dept=="")
{
?>
<script type="text/javascript">
alert("Please fill in all the required informations.");
</script>
<?php
}
elseif(empty($errors)===true)
{
if (!preg_match("/^[A-Z][a-zA-Z -]+$/i",$_POST['fname']))
{
$fnameErr= 'Invalid key has been input*';
}
if (!preg_match("/^[A-Z][a-zA-Z -]+$/i",$_POST['lname']) )
{
$lnameErr= 'Invalid key has been input*';
}
if (filter_var($mail, FILTER_VALIDATE_EMAIL) === false)
{
$mailErr = 'A valid email address is required*';
}
if (!preg_match('/^[0-9]{1,}/', $_POST['age']))
{
$ageErr = 'Only can be numeric*';
}
if (!preg_match("/^[a-zA-Z0-9 _.,:\"\']+$/i", $_POST['address']))
{
$addErr = 'Address must be letters and numbers*';
}
if (!preg_match("/^[0-9]{2,2}[-][0-9]{7,7}$/", $_POST['home']))
{
$hphErr= 'Phone must comply with this mask: 04-4XX1234*';
}
if (!preg_match("/^[0-9]{3,3}[-][0-9]{7,7}$/", $_POST['hp']))
{
$hpErr= 'Phone must comply with this mask: 014-XXX1234*';
}
if(strlen($name)<4)
{
$nameErr = 'Your username must between 4 to 12 characters*';
}
if (strlen($pass) < 6)
{
$passErr = 'Your password must be at least 6 characters*';
}
}
elseif(mysql_num_rows($result)==0)
{
mysql_query("insert into employee(Dept_ID, Emp_Address, Emp_Age, Position, Emp_Username, Emp_Password, Emp_Fname, Emp_Lname, ContactNo_Home, ContactNo_HP, Emp_Email)
values('$dept','$add','$age','$pos','$name','$pass','$fname','$lname','$hph','$hp','$mail')");
?>
<script type="text/javascript">
alert('Registered successfully!');
</script>
<?php
}
else
{
?>
<script type="text/javascript">
alert("Username already in use!");
</script>
<?php
}
}