将PDO sqlite查询转换为数组

时间:2014-12-03 01:43:42

标签: php mysql arrays sqlite pdo

我的网站上有一些sqlite问题,我无法弄清楚我做错了什么。我正在尝试从sqlite数据库中的一行中检索内容,该数据库有效,但它存储为"对象"变量。我正在尝试将其转换为php" array()"。我尝试了几种方法,但都失败了。这非常令人沮丧,并且想知道是否有人可以帮助他们。我需要这样做的原因是我可以比较2个数组,看看是否有任何匹配的文本。

这是我目前的代码:

include("template.php");
// Create (connect to) SQLite database in file
        $file_db = new PDO('sqlite:Scrambled/data.sqlite');
        // Set errormode to exceptions
        $file_db->setAttribute(PDO::ATTR_ERRMODE, 
                            PDO::ERRMODE_EXCEPTION);

                            $result = $file_db->query('SELECT * FROM users');
                           //$results = array(mysql_fetch_assoc($result));
                           $resultslist = array();
                            while(($row = mysql_fetch_assoc($result))) {
                             $resultslist[$row] = $row['users'];
                             }
$qualifiedpeople = explode("\n", file_get_contents('Scrambled/roboticsmembers.txt'));
//$lol = array(fetch_assoc($qualifiedpeople));
$members = array_intersect($qualifiedpeople, $resultslist);
echo("$resultslist");
echo("$qualifiedpeople");
//foreach($members as $member) {
    //echo("$member \n");
//}

正如你所看到的,我尝试了不同的东西,并注释了一些行以供日后参考。

你可以在这里看到错误:citadelwars.net/members.php

"警告:mysql_fetch_assoc()期望参数1是资源,第12行和第34行的C:\ wamp \ www \ members.php中给出的对象; 我没有在我的所有谷歌搜索中发现这个错误,但我确定这意味着pdo给了我一个"对象"变量,当它需要是一个资源。你能告诉我是否有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

我找到了解决办法,我做错了什么; 我能够取代:

while(($row = mysql_fetch_assoc($result))) {
   $resultslist[$row] = $row['users'];
}

有了这个:

$i = 0;
foreach($result as $row) {
   $resultslist[$i] = $row['name'];
   $i++;
}

完美无缺。

另外,为了比较表格,我将explode("\n",替换为explode("\r\n",