我尝试向我的mysql发送查询,但在两个小时内真的无法解决问题:S
foreach ($ga->getResults() as $result) {
$ga->requestReportData($result->getProfileId(), array('eventCategory', 'eventAction'), array('totalEvents'), $sort_metric = null, $filter = 'eventAction==InitPlayer', $start_date = $startDate, $end_date = $startDate);
foreach ($ga->getResults() as $result2) {
$key = array_search($result2->geteventCategory(), $arrEventCategory);
$key2 = array_search($result, $arrProfiles);
echo $key . " || <b>" . $key2 . "</b>";
echo $result2->gettotalEvents();
$mysql->query("insert into initplayer values(" . $key2 . ",'" . $result2->gettotalEvents() . "','" . $startDate . "'," . $key . ")");
echo "insert into initplayer values(" . $key2 . ",'" . $result2->gettotalEvents() . "','" . $startDate . "'," . $key . "";
}
}
这是我的代码和 页面给出了该行的错误:
$mysql->query("insert into initplayer values(" . $key2 . ",'" . $result2->gettotalEvents() . "','" . $startDate . "'," . $key . ")");
错误是:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的')'附近使用正确的语法
呈现查询:
答案 0 :(得分:1)
首先,您可以提供在循环的最后一行回显的查询吗?其次,看起来正在运行的查询和正在打印的查询存在差异。发送到MySQL的查询最后有一个额外的括号。如果您要为调试目的回显查询,请通过引入变量来执行此操作,以便调试正在运行的确切查询:
$rendered_query = "insert into initplayer values(" . $key2 . ",'" . $result2->gettotalEvents() . "','" . $startDate . "'," . $key . ")";
$mysql->query( $rendered_query );
echo $rendered_query;
一旦发布了echo的结果,我会更新这个答案,因为我无法调试像$result2->gettotalEvents()
这样的方法的输出
答案 1 :(得分:0)
在某些时候,可能会发生$ key或$ key2为FALSE(在数组中找不到),并且您会得到如下查询:
insert into initplayer values(FALSE,'something', 'something'....., 'something',FALSE);
导致mysql的语法错误。