Невозможно получить данные, mysql php pdo - PullRequest
0 голосов
/ 28 декабря 2010

У меня есть проблема, я не могу получить никаких результатов от mysql на производственном компьютере, но могу на компьютере для разработки, мы используем PHP 5.3 с MySQL (pdo).

$sd = $this->dbh->quote($sd);
$si_sql = "SELECT COUNT(*) FROM tbl_wl_data 
           WHERE (site_domain = $sd OR siteDomainMasked = $sd);";
if($this->dbh->query($si_sql)->rowCount() > 0) {
    //gets to here, just doesnt get through the loop
    $sql = "SELECT pk_aid, site_name, site_css, site_img_sw, supportPhone FROM tbl_wl_data
            WHERE (site_domain = $sd OR siteDomainMasked = $sd);";
    foreach($this->dbh->query($sql) as $wlsd) { //-- fails here
        if($wlsd['wl_status'] != '1') {
            require "_domainDisabled.php";
            exit;
        }
        $this->pk_aid = $wlsd['pk_aid'];
        $this->siteTitle = $wlsd['site_name'];
        $this->siteCSS = $wlsd['site_css'];
        $this->siteImage = $wlsd['site_img_sw'];
        $this->siteSupportPhone = $wlsd['supportPhone'];
    }
} else {
    throw new ERR_SITE_NOT_LINKED;
}

Кажется, он просто не попадает в цикл, я запустил запрос в navicat, и он возвращает данные.

Действительно смущен: S

1 Ответ

1 голос
/ 28 декабря 2010

следующее:

$si_sql = "SELECT COUNT(*) FROM tbl_wl_data WHERE (site_domain = $sd OR siteDomainMasked = $sd);";
if ($this->dbh->query($si_sql)->rowCount() > 0) ...

Всегда будет иметь значение ИСТИНА, даже если в вашей таблице нет содержимого. Фактически, он всегда будет возвращать одну строку с именем COUNT(*), которая содержит количество строк, соответствующих вашему предложению WHERE.

Вы должны отказаться от первого if и сделать это вместо этого:

$si_sql = "SELECT pk_aid, site_name, site_css, site_img_sw, supportPhone FROM tbl_wl_data WHERE (site_domain = $sd OR siteDomainMasked = $sd);";
if ($this->dbh->query($si_sql)->rowCount() > 0) {
    // foreach here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...