这是我的代码,它就像现在一样:
$con = @mysql_connect($server_name, $mysql_username, $mysql_password) or die("cannot connect");
mysql_select_db($db_name) or die("cannot select DB");
$sql="SELECT `idComp`,`nombre`,`foto` from RECURSOHUMANO;";
$result = mysql_query($sql);
$json= array();
if(mysql_num_rows($result)>0){
while($row=mysql_fetch_assoc($result)){
$json['Data'][]=$row;
}
}
mysql_close($con);
echo json_encode($json);
?>
我正在处理的表有其他列,并希望将其中的一些添加到SELECT查询中,但是当我添加另一个时,比如说apPat,它就会停止工作。
为了清楚,我会写下我通常会这样做的方式:
$sql="SELECT `idComp`,`nombre`,`apPat`,`foto` from RECURSOHUMANO;";
apPat就像'nombre',所以我不明白为什么它不起作用。
此外,当我添加其他列时,它只会打破其中几个,但我需要它们。
更新: 只是为了澄清。 MySQL查询是正确的,如果我自己运行它会给我我想要的东西,即使我添加其他列。问题,我认为是在PHP。
答案 0 :(得分:0)
在field
列表中使用单引号或双引号时,您告诉mysql
创建一个包含其中完整字符串的列。
所以你的结果更像是这样,对吗?
mysql> select `pid`, `source`, `alias` from url_alias limit 5;
+-----+--------------------+--------------------------+
| pid | source | alias |
+-----+--------------------+--------------------------+
| 1 | /taxonomy/term/16 | /blah/project-management |
| 2 | /taxonomy/term/14 | /blah/development |
| 3 | /taxonomy/term/137 | /blah/business |
| 4 | /taxonomy/term/13 | /blah/design |
| 5 | /taxonomy/term/15 | /blah/quality-assurance |
+-----+--------------------+--------------------------+
5 rows in set (0.00 sec)
现在请注意'i am a string'
周围的单引号以及结果的显示方式:
mysql> select `pid`, 'i am a string', `alias` from url_alias limit 5;
+-----+---------------+--------------------------+
| pid | i am a string | alias |
+-----+---------------+--------------------------+
| 1 | i am a string | /blah/project-management |
| 2 | i am a string | /blah/development |
| 3 | i am a string | /blah/business |
| 4 | i am a string | /blah/design |
| 5 | i am a string | /blah/quality-assurance |
+-----+---------------+--------------------------+
5 rows in set (0.00 sec)
我希望这有帮助!