PHP从数据库加载电子邮件到数组

时间:2017-02-01 17:17:45

标签: php mysql

基本上我要做的是加载数据库中的所有电子邮件并将它们插入到数组中。但由于printf输出字符串的长度,我不知道如何做到这一点。我知道这可能是非常基本的东西但是,是的。我是一个新的PHP。有什么想法吗?

<?php

    $emails = array();

    mysql_connect("127.0.0.1", "root") or
        die("Could not connect: " . mysql_error());
    mysql_select_db("users");

    $result = mysql_query("SELECT email FROM users");

    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
        $email = printf("%s", $row[0], $row[1]);
    }

    mysql_free_result($result);
    ?>

3 个答案:

答案 0 :(得分:1)

这是我与JS相关的一种方式。对您有用。首先,连接到您的数据库并获取表格:

<?php
    $currConnection = new mysqli('127.0.0.1', 'root', 'users') or
        die('Connection failed: ' . $currConnection->connect_error);

    $selection = "SELECT email FORM users";

    $currSel = $currConnection->query($selection);
    $fetchedObj = $currSel->fetch_object();
?>

现在您将数据存储在对象中。现在转到JS部分(把它放在你的.html或.php文件中):

<script type='text/javascript'> var email = <?php echo json_encode($fetchedObj); ?>;
</script>

这是在JS btw中获取PHP变量的一种非常巧妙的方法。在JS中,您有一个评估数组的函数:

var emailInfo = [];

function getEmails(){
    var currentIteration = 0;
    for(var key in email){
        emailInfo[currentIteration] = email[key];
        currentIteration++;
    }
}

我知道这并不是你所要求的,但这是一个很好的方法来解决你的问题,即使它引发JS而不是纯粹的PHP。

现在你可以像你所知的那样调用你的emailInfo-array。

console.log(emailInfo[0]);
document.getElementById('emailBody').innerHTML = emailInfo[1];

答案 1 :(得分:0)

这会将每行放入一个嵌套的值数组中,以便以后检索:

$email = [];
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    array_push($email, array($row[0], $row[1]));
}

如果要检索元素,请使用

 $email[0][0]

例如。

答案 2 :(得分:0)

使用此代码

<?php

    $emails = array();

    mysql_connect("127.0.0.1", "root") or
        die("Could not connect: " . mysql_error());
    mysql_select_db("users");

    $result = mysql_query("SELECT email FROM users");

    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
        $email[] = $row[0];
    }

    mysql_free_result($result);
 ?>