Php表单提交检查
我有一个PHP代码,可以将数据添加到MySQL表中。我需要检查两条记录是否不存在,然后继续添加它们 这是我的代码,但其他语句都不起作用。这是我的密码Php表单提交检查,php,mysql,Php,Mysql,我有一个PHP代码,可以将数据添加到MySQL表中。我需要检查两条记录是否不存在,然后继续添加它们 这是我的代码,但其他语句都不起作用。这是我的密码 if(isset($_POST['submit'])) { $username=$_POST['username']; $imerominia=$_POST['imerominia']; $diarkia=$_POST['diarkia']; $queryAQ = $db->query("SELECT username,imeromini
if(isset($_POST['submit']))
{
$username=$_POST['username'];
$imerominia=$_POST['imerominia'];
$diarkia=$_POST['diarkia'];
$queryAQ = $db->query("SELECT username,imerominia FROM sdit WHERE $username
= '$username' AND imerominia = '$imerominia'");
$wres = $queryAQ->results();
if(!empty($wres))
{
$query = $db->query("INSERT INTO sdit (username,imerominia,diarkia) VALUES('$username','$imerominia','$diarkia')");
echo '<script language="javascript">';
echo 'alert("Successfully Added"); location.href="account.php"';
echo '</script>';
}
else
{
echo '<script language="javascript">';
echo 'alert("DATE ALLREADY EXISTS"); location.href="account.php"';
echo '</script>';
}
}
if(isset($\u POST['submit']))
{
$username=$_POST['username'];
$imerominia=$\u POST['imerominia'];
$diarkia=$_POST['diarkia'];
$queryAQ=$db->query(“从sdit中选择用户名,imerominia,其中$username
='$username'和imerominia='$imerominia');
$wres=$queryAQ->results();
如果(!空($wres))
{
$query=$db->query(“插入sdit(用户名、imerominia、diarkia)值('$username'、'$imerominia'、'$diarkia'));
回声';
echo'alert(“已成功添加”);location.href=“account.php”;
回声';
}
其他的
{
回声';
echo'alert(“DATE ALLREADY EXISTS”);location.href=“account.php”;
回声';
}
}
如果(!empty($wres))的计算结果始终为true,这就是为什么else语句从不激发的原因
检查什么
$queryAQ->results();
返回if值为空,并更改if语句以查找该值如果要比较的
SELECT
查询中存在逻辑错误
$username = '$username'
根据我的理解,这永远不会是真实的。这可能是原因之一!空($wres)评估为true
,并且总是陷入false
因此,应该使用正确的SQL
SELECT username,imerominia FROM sdit WHERE username = '$username' AND imerominia = '$imerominia'
但是,我宁愿坚持使用PreparedStatement,以避免此类错误和SQL注入。什么是
$queryAQ->results()代码>如果没有结果返回?我只需要一个javascript警报,所以我不想做任何事情!这不能回答我的问题。我们不知道$wres
可以是什么,因此我们无法提供帮助。只想检查是否存在两个值。imerominia和用户名值。如果两者都存在,我不想继续提交表格。我看得出来。但是除非我们知道(可能是定制的)方法results()
返回什么,否则我们无法回答。