gpt4 book ai didi

php - 无法检索数据,mysql php pdo

转载 作者:行者123 更新时间:2023-11-29 14:56:18 25 4
gpt4 key购买 nike

我有一个问题,我无法从生产机器上的 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

最佳答案

以下内容:

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

即使表格中没有内容,计算结果也始终为 TRUE。事实上,它总是返回名为 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
}

关于php - 无法检索数据,mysql php pdo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4542294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com