【发布时间】:2016-08-31 22:45:08
【问题描述】:
我有这个 php 代码,
$result = $Db->query("SELECT DISTINCT matkul_mahasiswa.nim, matkul_mahasiswa.kode_matkul,
nilai.nim, nilai.kode_matkul, nilai.nilai, nilai.kode_ta, nilai.status_nl
FROM matkul_mahasiswa
JOIN nilai
ON matkul_mahasiswa.nim = nilai.nim AND matkul_mahasiswa.kode_matkul = nilai.kode_matkul
WHERE nilai.kode_matkul = '$kdmk' AND nilai.status_nl = '1' AND nilai.kode_ta = '$kdta'");
然后我尝试使用 PDO 获取它,并回显结果
$data = $result->fetch(PDO::FETCH_ASSOC);
echo $data['nim'];
echo $data['nilai'];
但是什么都没有,什么都没有出现。 我在phpmyadmin上试过查询,效果很好
那么,怎么了?我在这里想念什么?
感谢 b4。
【问题讨论】:
-
Var 转储整个 $data 变量。您的字段名称可能与您预期的不同。老实说,你是唯一可以通过调试自己的代码来回答这个问题的人......
-
是的,我这样做了,结果是“bool(false)”,这意味着查询不起作用..但它适用于 phpmyadmin。我实际上想做完全外连接,但这是错误的,所以我修改了它并最终工作,然后当我将查询放在 php 上时发生这种情况......
-
惊喜,惊喜 - 如果有任何与 sql 相关的错误,您可以使用 pdo 检查...
-
设置 PDO 以抛出异常,然后你就会知道错误是什么~
$Db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)。您还应该在开发时显示所有错误~error_reporting(E_ALL); ini_set('display_errors', 'On'); -
另外,您应该使用准备好的语句并绑定
$kdmk和$kdta