我的网站上有一些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给了我一个"对象"变量,当它需要是一个资源。你能告诉我是否有办法解决这个问题?
答案 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",