在MYSQL中通过php查询

时间:2012-02-22 15:38:19

标签: php mysql

我尝试向我的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行的')'附近使用正确的语法

呈现查询: enter image description here

2 个答案:

答案 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的语法错误。