下午好,
我正在尝试从Mysql中提取一个查询,并从该查询的每个条目中获取一个循环。
下面是MySQL查询
SELECT ad_groups FROM ad_test_table where ad_names = 'test'
它会返回
test1,test2,test3
现在,我想为每个条目ad_group执行一个for循环,但它不会循环由coma分隔的每个条目
foreach ($group in $AD_query){
write-host "group : " $group
}它只循环一次,并给出test1,test2,test3
这是完整的代码,希望有人能帮助我,是数据库中不正确输入的数据,还是我在代码中遗漏了什么?
function mysql_query($query)
{
$MySQLAdminUserName = 'AD_user'
$MySQLAdminPassword = 'AD_password'
$MySQLDatabase = 'User_creation'
$MySQLHost = 'AD_MySQL_server'
$ConnectionString = "server=" + $MySQLHost + ";port=3306;uid=" + $MySQLAdminUserName + ";pwd=" + $MySQLAdminPassword + ";database="+$MySQLDatabase
Try {
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
$Connection = New-Object MySql.Data.MySqlClient.MySqlConnection
$Connection.ConnectionString = $ConnectionString
$Connection.Open()
$Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection)
$DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command)
$DataSet = New-Object System.Data.DataSet
$RecordCount = $dataAdapter.Fill($dataSet, "data")
$DataSet.Tables[0]
}
Catch {
Write-Host "ERROR : Unable to run query : $query `n$Error[0]"
}
Finally {
$Connection.Close()
}
}
#$Full_AD_rights_list_query_full = New-Object System.Collections.ArrayList
$AD_query = New-Object System.Collections.ArrayList
$AD_query = mysql_query "SELECT ad_groups FROM ad_test_table where ad_names = 'test'"
foreach ($group in $AD_query.item(0)){
write-host ""
write-host "group : " $group
}发布于 2019-09-28 14:35:04
mysql_query返回一个数据表。您的结果是一个数据表(不是aSystem.Collections.ArrayList,因为覆盖)。试试这个:
foreach ($Row in $AD_query.Rows)
{
"value is : {0}" -f $Row["ad_groups"]
}https://stackoverflow.com/questions/58140110
复制相似问题