Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mysql中插入数据之前如何在php中设置条件_Php_Mysql - Fatal编程技术网

在mysql中插入数据之前如何在php中设置条件

在mysql中插入数据之前如何在php中设置条件,php,mysql,Php,Mysql,我需要mysql数据库每个特定日期只包含20条记录,如果用户试图在已经有20条记录的给定数据库上输入更多数据…我希望程序拒绝该输入并提示用户输入另一个日期。我使用的是php mysql 这就是我尝试过的 select count($hopeid)from clinics Where $date > midnight today and $date < 1159pm tonight and $hopeid =(hopeid) if results < 20 then

我需要mysql数据库每个特定日期只包含20条记录,如果用户试图在已经有20条记录的给定数据库上输入更多数据…我希望程序拒绝该输入并提示用户输入另一个日期。我使用的是php mysql

这就是我尝试过的

select count($hopeid)from clinics 
Where $date > midnight today and $date < 1159pm tonight and $hopeid =(hopeid)
if results < 20 then 

    mysql_query("INSERT INTO clinics(hopeid, date, time, appttype, newonARV,newfile,txtname)
    VALUES
('$hopeid','$date','$time','$appttype','$newonARV','$newfile','$txtname')") or die(mysql_errno());

    else {

        Echo"this date is full please choose another date";(mysql_errno();
    }
您可以在SQL查询中放置WHERE条件,如

检查

执行查询后,使用mysql\u受影响的\u行测试插入是否成功


选择日期调用后,Ajax查找此日期中的数字记录,如果当天有超过20条记录,则显示一些消息消息消息中已经有20条记录,并添加此新记录以将其作为日期+1,这样它将转到下一个日期,以便用户轻松理解

。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。也许可以立即使用Javascript和AJAX的组合进行检查?打电话检查是否有20条记录,如果是真的,则返回警报您的解决方案是错误的,因为$result是mysql的结果,而不是hopeid的计数您不能使用$result[hopeid]。。。因为$result不是带有hopeid键的数组,所以我认为sizeOf是一个solutionsizeof将返回数组的大小;不算hopeid你正在使用mysqli_fetch_数组,mysqli,提供mysql_查询的返回值,mysqlit会更好你可以在今天午夜和今晚1159点做代码。。。而且,如何才能将错误消息此日期已满请选择另一个日期进行回显/打印??特别是对于打印消息,他们需要执行一些额外的代码,如首先验证计数,然后插入。但为此,它必须分别执行两个查询。我想把它简单化。此外,您还可以测试ifmysql\u impacted\u rows==1,然后将其插入,否则将失败
$result = mysql_fetch_array(mysql_query("select hopeid from clinics
WHERE " . $date . " BETWEEN '18/03/2011' AND '18/09/2011'"));
$result = sizeOf($result);
if ($result < 20){
    mysql_query("INSERT INTO ... bla bla ...);
    } else {
        echo "this date is full please choose another date";
    }
$result = mysql_fetch_array(mysql_query("select hopeid from clinics
WHERE " . $date . " BETWEEN '18/03/2011' AND '18/09/2011'"));
$result = sizeOf($result);
if ($result < 20){
    mysql_query("INSERT INTO ... bla bla ...);
    } else {
        echo "this date is full please choose another date";
    }