所以我做了一个函数来为我做PDO查询,所以我不必继续输入它。这是功能。
if (!function_exists('query_db_select') ) :
function query_db_select($query, $where){
$query_params = array(
':var' => $where
);
try {
$stmt = $db->prepare($query);
$stmt->execute($query_params);
}
catch (PDOException $ex){
}
$count = $stmt->rowCount();
if ($count == 1){
return $stmt->fetch();
}
return $stmt->fetchAll();
}
endif;
因此,如果我使用此功能,它看起来像这样
$query = query_db_select("SELECT * FROM table WHERE column = :var", $something);
问题是,在我使用此功能后,我怎样才能获得此功能的行数OUTSIDE?我在另一个php页面中使用该函数运行查询,但我也希望得到行计数以及fetch()
如果您有任何想法,还需要一些关于如何使这个功能更好的建议。
答案 0 :(得分:0)
您要返回的是多维记录数组。您可以迭代数组的方式可以从查询更改为查询。返回行计数和结果集的一种方法如下。
if (!function_exists('query_db_select') ) :
function query_db_select($query, $where){
$returnArray = array();
$query_params = array(
':var' => $where
);
try {
$stmt = $db->prepare($query);
$stmt->execute($query_params);
}
catch (PDOException $ex){
}
$count = $stmt->rowCount();
$returnArray['rowcount'] = $count;
if ($count == 1){
$returnArray['results'] = $stmt->fetch();
return $returnArray;
}
$returnArray['results'] = $stmt->fetchAll();
return $returnArray;
}
endif;
您稍后可以在函数调用之外使用$returnArray['rowCount'];/* Or whatever your variable is that gets assigned to the return value. */
访问行数。
答案 1 :(得分:0)
我相信你可以这样做:
rsync --delete-missing-args --files-from=/tmp/list /source/dir /destination/dir
如果只有一个元素,我认为处理结果的方法没有意义。这是问题的温床。