Ben phpMyAdmin üzerinde aynı SQL sorgusu yürütme denedim ve sonuç (4 alanlar ile) bilgi 1 satır döndü. Ancak mysql_query ile ($ sql, $ this-> DB_conn), PHP 0 satır döndürür.
function getFTPInfo($cid) {
$sql = 'SELECT tableA.host, tableA.username, tableA.password, ftp_folders.folder
FROM (
SELECT ftp_accounts.host, ftp_accounts.username, ftp_accounts.password, users.cid
FROM ftp_accounts
INNER JOIN users
ON ftp_accounts.ftp_id = users.ftp_id
WHERE users.cid = "' .$cid. '"
) AS tableA
INNER JOIN ftp_folders
ON tableA.cid = ftp_folders.cid';
$retQuery = mysql_query($sql,$this->DB_conn) or die('Invalid : ' . mysql_error($this->DB_conn) . '<br>');
echo "mysql_query : " .$retQuery . "<br>";
echo "Number of Fields: " . mysql_num_fields($retQuery) . "<br>";
for($i=0; $i<4 ; $i++) {
echo "Field Names $i: " . mysql_field_name($retQuery,$i) . "<br>";
}
echo "Number of Rows: " . mysql_num_rows($retQuery) . "<br>";
$ftpArray = mysql_fetch_array($retQuery);
foreach($ftpArray as $v) {
echo '<p>v: ' . $v . '</p>';
}
mysql_free_result($retQuery);
return $ftpArray;
Kodundan üretilen sonucu:
mysql_query : Resource id #6 Number of Fields: 4 Field Names 0: host Field Names 1: username Field Names 2: password Field Names 3: folder Number of Rows: 0
Neden benim sorgudan 0 satır duyuyorum? PHP select sorgusu iç içe izin mu? Ayrıca, ben denedim
mysql_ping($this->DB_conn);
ve sonuç ben bir DB bağlantı kurulmuş olduğunu gösterdi