2017-03-09 85 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脚本中。

相关问题