将 MySQL 数据放入数组
Putting MySQL data into an array
我试了几天从 MySQL 列中获取所有数据并将其放入数组中,格式如下:
$aSpam= array
( '.info'=> 'i'
, 'anal'=> 'i'
, 'anus'=> 'i'
, 'arse'=> 'i'
)
我已经成功地以正确的格式输出它,正如您在此处看到的那样:http://www.yourgrumble.com/phpbbforum/getSpam.php
使用以下 PHP 代码:
<?php
$servername = "localhost";
$username = "username";
$password = "pass";
$dbname = "db";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT `SpamWord` FROM spamWords";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
$counter = 0;
while($row = $result->fetch_assoc()) {
if($counter){
echo ", '" . $row["SpamWord"]. "'=> 'i'";
$counter++;
} else {
echo "'" . $row["SpamWord"]. "'=> 'i'";
$counter++;
}
}
} else {
echo "Error!";
}
$conn->close();
?>
我已经阅读并尝试了 10 多个在网络上和 Whosebug 上找到的解决方案,但是其中 none 有效。我真的很绝望,没有你们的帮助我无法度过难关。
编辑
例如,我尝试使用此解决方案,但没有成功:
while ($row = mysql_fetch_array($result))
{
$new_array[$row['id']]['SpamWord'] = $row['SpamWord'];
}
foreach($new_array as $array)
{
echo $array['SpamWord'].'<br />';
}
提前谢谢大家,
丹尼斯赛多夫
尝试如下:-
$sql = "SELECT `SpamWord` FROM spamWords";
$result = mysqli_query($conn ,$sql) or die(mysqli_error($conn));
$resultArray = array(); // create an array
if ($result->num_rows > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
$resultArray[$row["SpamWord"]] = 'i'; // assing value
}
} else {
echo "Error!";
}
echo "<pre/>";print_r($resultArray); // print array
$conn->close();
注意:在这里您将获得包含所有 SpamWord
值的原始数组来自 database.thanks
PHP 数组就像字典(key/value 对的列表)
首先,在你的循环之前,创建你的空数组:
$new_array = Array();
while...
然后对于每一列,您将列值附加为数组的新键
$new_array[$row['SpamWord']] = "i";
在您的示例中,我将 "i"
作为每个数组行的值。
我试了几天从 MySQL 列中获取所有数据并将其放入数组中,格式如下:
$aSpam= array
( '.info'=> 'i'
, 'anal'=> 'i'
, 'anus'=> 'i'
, 'arse'=> 'i'
)
我已经成功地以正确的格式输出它,正如您在此处看到的那样:http://www.yourgrumble.com/phpbbforum/getSpam.php
使用以下 PHP 代码:
<?php
$servername = "localhost";
$username = "username";
$password = "pass";
$dbname = "db";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT `SpamWord` FROM spamWords";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
$counter = 0;
while($row = $result->fetch_assoc()) {
if($counter){
echo ", '" . $row["SpamWord"]. "'=> 'i'";
$counter++;
} else {
echo "'" . $row["SpamWord"]. "'=> 'i'";
$counter++;
}
}
} else {
echo "Error!";
}
$conn->close();
?>
我已经阅读并尝试了 10 多个在网络上和 Whosebug 上找到的解决方案,但是其中 none 有效。我真的很绝望,没有你们的帮助我无法度过难关。
编辑 例如,我尝试使用此解决方案,但没有成功:
while ($row = mysql_fetch_array($result))
{
$new_array[$row['id']]['SpamWord'] = $row['SpamWord'];
}
foreach($new_array as $array)
{
echo $array['SpamWord'].'<br />';
}
提前谢谢大家, 丹尼斯赛多夫
尝试如下:-
$sql = "SELECT `SpamWord` FROM spamWords";
$result = mysqli_query($conn ,$sql) or die(mysqli_error($conn));
$resultArray = array(); // create an array
if ($result->num_rows > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
$resultArray[$row["SpamWord"]] = 'i'; // assing value
}
} else {
echo "Error!";
}
echo "<pre/>";print_r($resultArray); // print array
$conn->close();
注意:在这里您将获得包含所有 SpamWord
值的原始数组来自 database.thanks
PHP 数组就像字典(key/value 对的列表)
首先,在你的循环之前,创建你的空数组:
$new_array = Array();
while...
然后对于每一列,您将列值附加为数组的新键
$new_array[$row['SpamWord']] = "i";
在您的示例中,我将 "i"
作为每个数组行的值。