我的数据库名称是注册。我需要验证两个条件。
where status="checked"
status count is <10
我可以插入数据。否则会显示一些警告信息
这是我的代码:
<?php
class Profile extends CI_Model{
function add($data){
$this->load->database();
$count1="select count(status) from registration where status='checked'";
$this->db->where($count1<10);
$this->db->insert('registration',$data);
}
答案 0 :(得分:2)
我需要更多信息来解决您的问题。
你可以使用log.message(&#39; info&#39;,print_r($ data,true));调试代码。
在此之前,您应将日志阈值设置为4并记录日志文件路径。 您可以查看日志文件以检查代码执行的位置和值是否通过。
class Profile extends CI_Model{
function add($data){
$this->load->database();
$count1="select count(status) from registration where status='checked'";
if(count1 < 10) {
$this->db->insert('registration',$data);
} else {
return false;
}
使用该假值显示警告。
答案 1 :(得分:0)
AFAIK您无法通过聚合查询执行此操作。启动查询,然后按代码检查计数
if ( data < 10 ){
...
} else {
...
}
其他选项是创建SQL函数。
希望有所帮助
答案 2 :(得分:0)
一定不得超过10&#34;检查&#34;登记记录?你到目前为止所做的事情还可以。您从db获取计数,并且仅在计数小于10时插入。但是此检查不必在db中完成。只需在count&lt; 10:
<?php
class Profile extends CI_Model{function add($data)
{
$this->load->database();
$count1="select count(*) from registration where status = 'checked'";
if($count1 < 10)
{
$this->db->insert('registration', $data);
}
}
这或多或少。我不定期使用php,因此可能仍然存在错误。你需要一个明确的提交吗?我不知道。