Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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
php+;codeigniter sql查询_Php_Codeigniter - Fatal编程技术网

php+;codeigniter sql查询

php+;codeigniter sql查询,php,codeigniter,Php,Codeigniter,我想在我的模型中从一个称为辖区的表中进行查询。现在我希望这个查询提供一个有效的MySQL结果资源。也就是说,我想将结果传递给mysql\u fetch\u array()。如果我传入$query=$this->db->query()。我收到一个错误,说明传入的参数无效。我想知道如何将$query转换为MySQL结果资源。如果我理解正确,为什么不使用以下可用方法: $query->result(); 或 选择适合您需要的方法。如果我对您的理解正确,为什么不使用以下可用方法: $query-

我想在我的模型中从一个称为辖区的表中进行查询。现在我希望这个查询提供一个有效的MySQL结果资源。也就是说,我想将结果传递给
mysql\u fetch\u array()
。如果我传入
$query=$this->db->query()
。我收到一个错误,说明传入的参数无效。我想知道如何将
$query
转换为MySQL结果资源。

如果我理解正确,为什么不使用以下可用方法:

$query->result();


选择适合您需要的方法。

如果我对您的理解正确,为什么不使用以下可用方法:

$query->result();


选择适合您需要的选项。

好吧,如果您想拥有MySQL资源,您应该使用
MySQL\u query

Codeigniter已经有了一个方法,可以一次给你一行:(实际上,它有两行,另一行只是
,但它返回的是一个对象,而不是一个数组)。如果要获取结果\u数组结果的数字索引,请使用数组\u值:

$result = $this->db->query( "SELECT 'foo' as foo_rules FROM DUAL" );
$aso_arr = $result->row_array(); // assoc. array w/o numeric indexes
echo $aso_arr[ 'foo_rules' ];
$num_arr = array_values( $aso_arr );
echo $num_arr[ 0 ];
如果您想要选择的整个结果,请使用
result
result\u array
(它们的行为类似于row和row\u array,只返回数组中的整个结果集)

编辑 我重复我的第一句话,但您可以通过以下方式获得MySQL资源:

$result = $this->db->query( "SELECT 'foo' as foo_rules FROM DUAL" );
$resource = $result->result_id;

但是,因为这没有文档记录,所以不应该认为它是受支持的,甚至是预期的行为。预先警告。

好吧,如果你想拥有一个MySQL资源,你应该使用
MySQL\u query

Codeigniter已经有了一个方法,可以一次给你一行:(实际上,它有两行,另一行只是
,但它返回的是一个对象,而不是一个数组)。如果要获取结果\u数组结果的数字索引,请使用数组\u值:

$result = $this->db->query( "SELECT 'foo' as foo_rules FROM DUAL" );
$aso_arr = $result->row_array(); // assoc. array w/o numeric indexes
echo $aso_arr[ 'foo_rules' ];
$num_arr = array_values( $aso_arr );
echo $num_arr[ 0 ];
如果您想要选择的整个结果,请使用
result
result\u array
(它们的行为类似于row和row\u array,只返回数组中的整个结果集)

编辑 我重复我的第一句话,但您可以通过以下方式获得MySQL资源:

$result = $this->db->query( "SELECT 'foo' as foo_rules FROM DUAL" );
$resource = $result->result_id;

但是,因为这没有文档记录,所以不应该认为它是受支持的,甚至是预期的行为。预先警告。

为什么要使用mysql\u fetch\u数组?我这样问是因为你可以用codeigniter DBAL做同样的事情,这样你就不需要正常使用这个函数了。我需要在视图部分使用它。我知道我可以很容易地做到这一点,但我需要一个下拉菜单部分。你不应该在视图中使用任何数据库代码。这是完全错误的,不是codeigniter的工作方式。而是为模型内的菜单准备数据,并将模型传递给视图。$query->conn\u id将获取驱动程序对象。。也许你可以这样做。为什么要使用mysql\u fetch\u数组?我这样问是因为你可以用codeigniter DBAL做同样的事情,这样你就不需要正常使用这个函数了。我需要在视图部分使用它。我知道我可以很容易地做到这一点,但我需要一个下拉菜单部分。你不应该在视图中使用任何数据库代码。这是完全错误的,不是codeigniter的工作方式。而是为模型内的菜单准备数据,并将模型传递给视图。$query->conn\u id将获取驱动程序对象。。也许你可以这样做。不,我需要能够将我的查询对象传递给mysql\u fetch\u数组函数。我只需要一种方法将$query转换为mysql资源。我不想事先将其转换为数组。不,我需要能够将我的查询对象传递给mysql\u fetch\u数组函数。我只需要一种将$query转换为mysql资源的方法。我不想事先将其转换为数组。