2017-03-09 83 views
0

我試圖做一個簡單的查詢:爲什麼在MySQL查詢工作,但查詢在PHP犯規和它不僅是因爲特定的列

SELECT 
    job_title, 
    job_description, 
    job_tasks, 
    technology_skills, 
    job_activities 
FROM 
    careeryou_db3 
WHERE 
    Job_Interests = " CIE" 

它完全在mysql中給了我這樣的結果:

http://imgur.com/a/E9yv3

但是,當我在我的PHP中使用它時,它返回一個空的數據集。我做了一些故障,試圖查詢列一個接一個,它的工作原理(返回correct results respectively

SELECT 
    job_title, job_description, job_tasks 
FROM 
    careeryou_db3 
WHERE 
    Job_Interests = " CIE" 

顯然,當我嘗試查詢到的列[technology_skills]或[job_activities]有的話,PHP結果將返回空白沒有人有任何想法,爲什麼這是奇怪和IM還挺新本

這是我的PHP代碼:?

$query = 'SELECT job_title,job_description,job_tasks FROM careeryou_db3 WHERE Job_Interests = " CIE" '; 
$resultset = mysql_query($query, $connection); 

$records = array(); 

while($r = mysql_fetch_assoc($resultset)){ 
    $records[] = $r; 
} 
echo json_encode($records); 
+0

該查詢應該在PHP和mysql之間完全相同。嘗試在運行該查詢時打開mysql general_log或在代碼中將其回顯出來,並驗證它是否與您放入mysql中的內容相匹配。 – aynber

+0

你能否提供我們使用的PHP代碼? – Twinfriends

+0

什麼是您的php代碼運行查詢?它正在返回一個對象數組,因此您將不得不遍歷數組來訪問每個結果。 – JPickup

回答

0

我看不到你的SQL語法的錯誤你能檢查mysql日誌中的bette嗎? r錯誤信息?

看到這裏的細節 https://dev.mysql.com/doc/refman/5.7/en/error-log.html

[mysqld] 
log_error=/var/log/mysql/mysql_error.log 
general_log_file=/var/log/mysql/mysql.log 

它會幫助你如何調用的MySQL,將查詢構建代碼爲例。

+0

烏爾姆對不起,但我不明白..即時通訊使用phpmyadmin – ducklol

0

可能值得添加這些行以進行額外的調試,以確保您的連接和查詢成功。

$result = mysql_query($sql); 

if (!$result) { 
    echo "Could not successfully run query ($sql) from DB: " . mysql_error(); 
    exit; 
} 

if (mysql_num_rows($result) == 0) { 
    echo "No rows found, nothing to print so am exiting"; 
    exit; 
} 

while ($row = mysql_fetch_assoc($result)) { 
.... 
+0

像這樣的是嗎? $ resultset = mysql_query($ query,$ connection); $ records = array(); if(!$ resultset){ echo「無法成功運行來自DB的查詢($ query):」。 mysql_error(); 退出; } if(mysql_num_rows($ resultset)== 0){ echo「找不到行,沒有任何要打印的,所以正在退出」; 退出; } 而($ R = mysql_fetch_assoc($結果集)){$ 記錄[] = $ R; } – ducklol

+0

我已經添加了它,它不顯示任何差異仍然空白 – ducklol

+0

這是一個通配符卡,但你是否意味着在where子句中有一個空格? - >「CIE」 – JPickup

0

這是因爲那些列中的數據與PHP衝突。顯然這個「 - 」不能解析到PHP中,這就解釋了爲什麼查詢只能在phpMyAdmin中工作,而不是在我的PHP腳本中。

相關問題