查询始终返回1而不是我需要的id
。我想要id
的' intervaloshorarios'桌子有自己的“cita”#39;例如,(上午8:00至9:00)日期:1988年8月27日。我需要(上午8:00到9:00)身份证。我使用print_r($ expression)返回查询。如何获得我需要的id
?
数据库
模型功能
public function get_idintervalo($idCitas) {
$query = $this->db->query('SELECT intervaloshorarios.idIntervaloHorario FROM intervaloshorarios INNER JOIN citas '
. 'ON intervaloshorarios.idIntervaloHorario = citas.idIntervaloHorario '
. 'WHERE citas.idCitas = ' . $idCitas . ';');
return print_r($query);
}
控制器(尝试将ID转入隐藏字段)
$query = $this->Intervalos_Model->get_idintervalo($idCitas);
$crud->change_field_type('idIntervaloHorario', 'hidden', $query);
错误(Sihas回答)
Print_r($ query)(Sihas回答 )
1CI_DB_mysqli_result对象([conn_id] => mysqli对象([affected_rows] => 1 [client_info] => mysqlnd 5.0.11-dev - 20120503 - $ Id:76b08b24596e12d4553bd41fc93cccd5bac2fe7a $ [client_version] => 50011 [ connect_errno] => 0 [connect_error] => [errno] => 0 [错误] => [error_list] =>数组()[field_count] => 1 [host_info] => localhost通过TCP / IP [info] => [insert_id] => 0 [server_info] => 5.5.5-10.1.21-MariaDB [server_version] => 50505 [stat] =>正常运行时间:1043645主题:1个问题:58810慢查询:0打开:257刷新表:1打开表:203每秒查询平均值:0.056 [sqlstate] => 00000 [protocol_version] => 10 [thread_id] => 3645 [warning_count] => 0)[result_id] => mysqli_result对象([current_field] => 0 [field_count] => 1 [length] => [num_rows] => 1 [type] => 0)[result_array] = > Array()[result_object] => Array()[custom_result_object] => Array()[current_row] => 0 [n um_rows] => [row_data] => )
答案 0 :(得分:0)
查找这些功能的一些手册页
会很好 print_r
输出变量(它回显它)并返回TRUE
,因此以这种方式返回将始终返回true(如果您打印该结果,则可以将其解释为'1') 。因此,通过实际返回结果返回结果,而不是将其回显到输出!
然后你应该看看你的query
。您没有说明您使用的是什么,但假设您使用PDO,请查看manual of pdo's query
返回值
PDO :: query()返回PDOStatement对象,失败时返回FALSE。
你不会得到你的结果,你会得到PDOStatement
。如果您愿意,可以对此语句进行迭代,但它本身不是字符串。例如,你可以做的是这样的事情:
$stmt = $pdo->query('SELECT name FROM users');
while ($row = $stmt->fetch())
{
echo $row['name'] . "\n";
}
我已从以下页面中了解到这一点:phpdelusions,请看一下(不是附属的,只是一个随机的谷歌点击:) :)
编辑:您似乎正在使用mysqli
。同样的事情适用:查看手册!
这两个链接可以帮助您入门 http://php.net/manual/en/mysqli.query.php 和 http://php.net/manual/en/mysqli.examples-basic.php。
例如,你可以这样做: $result = $this->db->query($q);
$array = $result->fetch_assoc();
//now $array is an array with your results. var_dump it to inspect
答案 1 :(得分:0)
试试这段代码:
public function get_idintervalo($idCitas)
{
$this->db->select('intervaloshorarios.idIntervaloHorario');
$this->db->from('intervaloshorarios');
$this->db->join('citas','intervaloshorarios.idIntervaloHorario = citas.idIntervaloHorario');
$this->db->where('citas.idCitas',$idCitas);
$query = $this->db->get();
$result = $query->row('intervaloshorarios.idIntervaloHorario');
echo $result; exit();
}
答案 2 :(得分:-1)
您只需创建表的别名并使用Mysql In获取多个Id并传递Id
的数组public function get_idintervalo($idCitas = array)
{
$query = SELECT in.idIntervaloHorario FROM intervaloshorarios in INNER JOIN citas ct ON in.idIntervaloHorario = ct.idIntervaloHorario WHERE citas.idCitas IN ( $idCitas );
$result = $this->db->query($query);
}