Php 在另一个查询上循环时在内部打开查询
我需要在另一个查询上的while循环中打开一个查询,以便它由第二个查询的结果驱动Php 在另一个查询上循环时在内部打开查询,php,mysql,sql,select,while-loop,Php,Mysql,Sql,Select,While Loop,我需要在另一个查询上的while循环中打开一个查询,以便它由第二个查询的结果驱动 $r=new COM("ADODB.Recordset"); $g=new COM("ADODB.Recordset"); $g->Open("SELECT * FROM question ORDER BY ID;",$db); while ($g->EOF == FALSE){ $ID=$g->Fields["ID"]->value; $r->Open("S
$r=new COM("ADODB.Recordset");
$g=new COM("ADODB.Recordset");
$g->Open("SELECT * FROM question ORDER BY ID;",$db);
while ($g->EOF == FALSE){
$ID=$g->Fields["ID"]->value;
$r->Open("SELECT * FROM Answers WHERE Username='".$_GET["Username"]."' AND questionID=".$ID.";",$db);
$g->MoveNext();
}
而且它不起作用。。当我把
$r->open(…)
放在外面的时候就可以了。。。但是我需要在其中使用第一个查询的结果。为什么不使用联接将两个查询合并为一个呢
"select Answers.ID, Question.ID from Answers inner join Questions where Questions.ID=Answers.QuestionID and Answers.Username=" . $_GET["Username"]
通过连接相互关联的答案和问题,将两个表格合并 “它不起作用…”它怎么不起作用?这是一个错误吗?它是一个空白的白色屏幕吗?它是否给您提供了不正确/不完整的结果?致命错误:未捕获异常“com_exception”,消息为“Source:ADODB.Recordset
描述:当对象打开时,不允许操作是否确实应该使用$r->Open进行查询?似乎每次进行新查询时都要打开与数据库的新连接。更好的方法是打开1个连接,然后使用$r->Execute进行查询。有关更多详细信息,请参阅。或者,正如我在回答中建议的那样,您可以通过执行联接来避免执行多个查询。@dognose它的数据库连接
$sc=“C:\\Users\\a\\Desktop\\xamplite\\htdocs\\X\\Surveys.mdb”$cn=“Provider=Microsoft.Jet.OLEDB.4.0;数据源=”$资深大律师。";"; $db=新COM(“ADODB.Connection”)$db->Open($sc)代码>@stephen它正在其他页面上工作(我正在使用ms access)