Garip PDO MySQL Sorunu

3 Cevap php

Ben bir PHP komut dosyası bir sorgu gerçekleştirmek için çalışıyorum. Sorgu benim MySQL istemci çalışıyor ancak benim kod içinde çalışma görünmüyor. Ben PDO kullanıyorum. Bir az karmaşık sorgu ile cezası çalışmak gibi görünüyor çünkü ben, bu sınırlamaları olabilir düşünüyorum.

İşte sorgu:

SELECT D.status, D.createdBy, D.createDate, D.modifiedBy, D.modifiedDate,D.IPAddress,  D.adminStatus, D.campus, D.buildingID, D.deviceShortName, D.distributionID, D.networkKey, D.deviceName, D.test, D.pkDevices, D.DNSRule, D.Domain, D.DNSOverride, D.noDNS, D.pkModel, DM.Model, DM.pkManufacturer, M.manufacturer FROM Devices AS D INNER JOIN DeviceModel AS DM ON D.pkModel = DM.pkModel INNER JOIN Manufacturer AS M ON DM.pkManufacturer =  M.pkManufacturer WHERE D.status = '1' AND D.adminStatus = 'Active' ORDER BY D.deviceName

Ben komut onu aramak için çalışıyorum İşte burada:

$dbhDevices = newPDO('mysql:host='.$_SESSION['OpsDBServer'].'.ops.tns.its.psu.edu;dbname='.$_SESSION['OpsDB'], $_SESSION['yoM'], $_SESSION['aMa']);
$sqlDevices = "SELECT D.status, D.createdBy, D.createDate, D.modifiedBy,
D.modifiedDate, D.IPAddress, D.adminStatus, D.campus, D.buildingID,
D.deviceShortName, D.distributionID, D.networkKey, D.deviceName, D.test,
D.pkDevices, D.DNSRule, D.Domain, D.DNSOverride, D.noDNS, D.pkModel, DM.Model,
DM.pkManufacturer, M.manufacturer
FROM Devices AS D
INNER JOIN DeviceModel AS DM ON D.pkModel = DM.pkModel
INNER JOIN Manufacturer AS M ON DM.pkManufacturer = M.pkManufacturer
WHERE D.status = '1' AND D.adminStatus = 'Active' ORDER BY D.deviceName";
foreach ($dbhDevices->query($sqlDevices) as $rowDevices)
{

Yine, sorgu MySQL istemcisi ile çalışır.

3 Cevap

Ben bir SOL kullanarak JOIN çalışma var yerine bir INNER JOIN. Garip, ama çalışıyor.

Zaten yapmadıysanız, hataları etkinleştirmeyi deneyin:

error_reporting(E_ALL);
$dbhDevices->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

PDO kullanım eski sürümlerinde Eğer nedense ilan zaman PDO değişkeni "başlatmak" zorunda. Jenerik $dbhDevices başlatır bu kodu önce bir satır koyarak deneyin ve hüner yok bakın. Eğer daha az karmaşık sorgu ile çalışıyor diyorum, çünkü benim şüphelerim var ama denemeye değer.