PHP记录到数组:数组查询返回的所有ID
我有这个疑问:PHP记录到数组:数组查询返回的所有ID
"SELECT gs.id FROM table1 gs WHERE gs.external_id = " . $external_id . " ";
我想有一个PHP阵列的所有返回的ID是这样的:
$arr_ids = array(1,2,34,14);
我知道我可以使用,而做到这一点,但我想知道是否有一个功能 或者这样做更优雅的方式:
$result = array();
while ($row = mysql_fetch_array($rs))
{
$result[] = $row['id'];
}
unset($rs);
unset($row);
谢谢
有一种更优雅的方式。您应该使用mysqli
函数(而不是mysql
)。 See this question and answer for more information about this topic.
您可以使用mysqli_result::fetch_all()
而不使用循环。以下是一个如何使用它的例子。
// Connect to database
$sqlConn = new mysqli($hostname, $username, $password, $database);
// Build SQL String
$sqlString = "SELECT * FROM my_table";
// Execute the query and put data into a result
$result = $this->sqlConn->query($sqlString);
// Copy result into a associative array
$resultArray = $result->fetch_all(MYSQLI_ASSOC);
// Copy result into a numeric array
$resultArray = $result->fetch_all(MYSQLI_NUM);
// Copy result into both a associative and numeric array
$resultArray = $result->fetch_all(MYSQLI_BOTH);
'当使用mysqli时,您可以使用PDOStatement :: fetchAll()而不使用循环。“请考虑在所有这些建议之后校对该语句 – 2014-09-11 09:07:28
,确定我会查看该问题和答案,然后我将转到此方法。谢谢 – SaganTheBest 2014-09-11 09:08:29
@Hanky웃Panky谢谢你的建议。我经常使用同义词,as - iirc - 'mysqli'是PDO的MySQL实现。 – 2014-09-11 10:10:39
更优雅的方式?这对我来说似乎没有问题 – Ghost 2014-09-11 08:53:42
不是真的,那是关于它的。 – Rasclatt 2014-09-11 08:54:09
仍在使用mysql_ *扩展名? – sectus 2014-09-11 08:54:16