【问题标题】:Convert PDO sqlite query to array将 PDO sqlite 查询转换为数组
【发布时间】:2015-01-31 11:00:31
【问题描述】:

我的网站上的 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 是资源,对象在 C:\wamp\www\members.php 第 12 行给出” 我在所有的谷歌搜索中都没有发现这个错误,但我确信这意味着 pdo 在需要成为资源时给了我一个“对象”变量。你能告诉我有没有办法解决这个问题?

【问题讨论】:

  • 使用 {} 代码按钮将代码直接封装到 stackoverflow 中通常是一种很好的做法。这样其他有相同问题的用户可以轻松找到答案。
  • @sectus 在你发给我的链接上找不到任何有用的东西,但我会继续寻找。
  • 不敢相信没有人回应。

标签: php mysql arrays sqlite pdo


【解决方案1】:

我找到了解决方案以及我做错了什么; 我能够替换:

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

有了这个:

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

效果很好。

也用于比较我用explode("\r\n",替换explode("\n",的表格

【讨论】:

    猜你喜欢
    • 2020-09-22
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 2013-04-17
    • 1970-01-01
    相关资源
    最近更新 更多