【发布时间】:2014-06-30 17:00:44
【问题描述】:
我正在拔头发,希望有人能帮忙。
我已将我的查询函数从 mysql 更改为 mysqli 到 PDO,但仍然无法获得显示撇号的结果 - 我可以在数据库字段中看到它们,因此知道它们在那里。
我正在使用一个类和一个函数来提供另一个页面的查询:
我的查询:
SELECT sum(quantity) as Total, sum(earnings) as Revenue, title
from `sales`
WHERE name = 'john smith'
AND paid = 'y'
AND earnings >0
GROUP BY title
我的功能:
$db = new PDO("mysql:host=" . $db_host .";dbname=" . $db_database . ";charset=UTF-8",$db_user,$db_password,array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$SQL = $query;
$stmt = $db->prepare($SQL);
$stmt->execute();
$stmt = $db->query($SQL);
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$result_array[] = $row;
}
$db = null;
return $result_array;
从数据库中提取数据没有问题,除了撇号在应有的位置丢失。这给我带来了问题,因为我后来使用这些数据搜索另一个表并且它无法匹配。
我真的希望在我完全秃顶之前有人能帮助我。
感谢所有帮助,请善待:D
【问题讨论】:
-
什么撇号?标题字段?
-
嗨,Marc - 是的,标题字段始终显示一个空格,其中撇号应该是。
-
所以开始寻找它消失的地方。例如
var_dump($row)在你的循环中,然后在任何使用这个$result_array的地方。上面的代码中没有任何东西会删除字符,所以我们帮不了你。 -
当我将鼠标悬停在 $result_array 正在收集的结果上时,我可以看到它已经消失,因此它在这个函数和这个查询中的 deffo。我需要假发吗?
-
哎呀-DOH!感谢您尝试帮助我马克 - 我现在意识到我已经超越了它,因为我一直在看错误的表格 - 销售缺少撇号:S