为什么在MySQL查询工作,但查询在PHP犯规和它不仅是因为特定的列
我试图做一个简单的查询:为什么在MySQL查询工作,但查询在PHP犯规和它不仅是因为特定的列
SELECT
job_title,
job_description,
job_tasks,
technology_skills,
job_activities
FROM
careeryou_db3
WHERE
Job_Interests = " CIE"
它完全在mysql中给了我这样的结果:
但是,当我在我的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);
我看不到你的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,将查询构建代码为例。
乌尔姆对不起,但我不明白..即时通讯使用phpmyadmin – ducklol
可能值得添加这些行以进行额外的调试,以确保您的连接和查询成功。
$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)) {
....
像这样的是吗? $ 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
我已经添加了它,它不显示任何差异仍然空白 – ducklol
这是一个通配符卡,但你是否意味着在where子句中有一个空格? - >“CIE” – JPickup
这是因为那些列中的数据与PHP冲突。显然这个“ - ”不能解析到PHP中,这就解释了为什么查询只能在phpMyAdmin中工作,而不是在我的PHP脚本中。
该查询应该在PHP和mysql之间完全相同。尝试在运行该查询时打开mysql general_log或在代码中将其回显出来,并验证它是否与您放入mysql中的内容相匹配。 – aynber
你能否提供我们使用的PHP代码? – Twinfriends
什么是您的php代码运行查询?它正在返回一个对象数组,因此您将不得不遍历数组来访问每个结果。 – JPickup