如何将一列中的值添加到数组中?在示例表中,我希望“NAME”列中的所有名称都为“my_array”。
Ex. (my_table)
|ID|NAME |
------------
|1 |my_name|
------------
|2 |my_name|
--------------------------------------------------
$con=mysqli_connect("localhost","root","","my_db");
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM my_table");
$my_array = array();
$column = 'NAME';
$i=1;
while($row = mysql_fetch_array($result)){
$my_array [$i]=$row[$column];
$i++;
}
mysqli_close($con);
答案 0 :(得分:0)
首先,不要设置$i = 1
,因为数组从0开始,而不是1。
我会使用mysql_fetch_assoc()
代替mysql_fetch_array()
。
$i=0;
while($row = mysql_fetch_assoc($result)){
$my_array[$i] = $row[$column];
$i++;
}
答案 1 :(得分:0)
看起来您的代码应该可行,如果您只是想寻找一种更有效的方法,请查看使用PDO搜索数据库并使用可以使用
$conn = new PDO('mysql:dbname='.$database.';host='.$host, $username, $password);
$stmt = $conn->prepare('SELECT ID FROM my_table');
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$myarray = $stmt->fetchAll();
echo $myarray[0]['ID'].','.$myarray[1]['ID']; //etc
如果您只在一列之后,只需选择一列而不是*,如果您的时间超过一列。