消息:count(): 参数必须是一个数组或一个在 centos 上实现 Countable

查看我的查询


Select * from join_chat where

(user_1 = '24' and user_2 = '26') or

(user_1 = '26' and user_2 = '24')

请从我的 api 中提供解决此错误的建议


<h4>A PHP Error was encountered</h4>


<p>Severity: Warning</p>



</div>{"responce":true,"data":"20"}

43.303 28439-30249/techline.carsapp W/System.err: 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 2020-05-09 23:16:43.303 28439-30249/techline.carsapp W/ System.err: 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) 2020-05-09 23:16 :43.303 28439-30249/techline.carsapp W/System.err: 在 java.util. concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 2020-05-09 23:16:43.303 28439-30249/techline.carsapp W /System.err: 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. java:641) 2020-05-09 23:16:43.303 28439-30249/techline.carsapp W/System.err: 在 java 中。lang.Thread.run(线路.java:764)FutureTask.run(FutureTask.java:266) 2020-05-09 23:16:43.303 28439-30249/techline.carsapp W/System.err: 在android.os。 AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) 2020-05-09 23:16:43.303 28439-30249/techline。


消息:count():参数必须是数组或实现 Countable 的对象


文件名:controllers/Api.php


行号:801


    <p>Backtrace:</p>

下面控制器中的方法


public function send_chat_data()

{

    $this->load->library('form_validation');

    $this->form_validation->set_rules('join_id', 'join_id', 'trim|required');

    $this->form_validation->set_rules('sender_id', 'sender_id', 'trim|required');

    $this->form_validation->set_rules('message', 'message', 'trim|required');



守着一只汪
浏览 110回答 1
1回答

德玛西亚99

正如我所见,您问题中的问题是您正在尝试计算一个非数组或不可数的对象。思绪在您的整个代码中,您没有编写count()似乎导致问题的原因,为什么?$q->row();当您自己将结果限制为 1 时,为什么还需要计数// as you said the problem is here $row = $q->row();可能的解决方案当您使用row()ie时,$q->row();您会得到一个不可数的对象,// row() dummy datastdClass Object(    [id] => 15    [event_id] => 3    [event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg)但是当你使用result()ie时$q->result();,它会产生一个对象数组,或者在 的情况下result_array(),一个数组数组,即使你将它们限制为一个。// result() dummy data -- same as result_object()(    [0] => stdClass Object        (            [id] => 15            [event_id] => 3            [event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg        ))// result_array() dummy dataArray(    [0] => Array        (            [id] => 15            [event_id] => 3            [event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg        ))它们现在都是一个数组,因此是可数的。所以,如果你必须计算,使用此外,如果你想计算“结果”的数量,你可以使用which will return 3 here。$q->row();count((array) ($q->row()));{id}, {event_id}, {event_image}希望对你有帮助。
打开App,查看更多内容
随时随地看视频慕课网APP