Php MySQL查询只输出奇数行
我使用以下PHP方法从MySQL查询返回JSON字符串:Php MySQL查询只输出奇数行,php,sql,mysql,Php,Sql,Mysql,我使用以下PHP方法从MySQL查询返回JSON字符串: $sys_words_ref_join_query = mysql_query(" SELECT user_words.*, sys_words.* FROM user_words, sys_words WHERE user_words.sys_words_ref = sys_words.sys_words_ref & user_words.user_info_ref = '1' LIMIT 0, 7 "); $js
$sys_words_ref_join_query = mysql_query("
SELECT user_words.*, sys_words.*
FROM user_words, sys_words
WHERE user_words.sys_words_ref = sys_words.sys_words_ref
& user_words.user_info_ref = '1'
LIMIT 0, 7
");
$json_array = array();
while($words_obj = mysql_fetch_object($sys_words_ref_join_query)) {
$json_array[] = $words_obj;
}
$result = json_encode($json_array);
echo $result;
我遇到的问题是,$result
只回显奇数DB行,例如1,3,5…,等等
知道为什么吗?谢谢。您可能应该在where子句中使用(
和
)而不是(&
):
WHERE user_words.sys_words_ref = sys_words.sys_words_ref
AND user_words.user_info_ref = '1'
您是否运行了mysql\u查询功能?我在那里看不见。也试着回应这一点:
print '<pre>';
print_r ($result);
打印“”;
打印(结果);
关系数据库中的行没有外部排序,因此没有行号。RDBMS可以自由使用开发人员希望的任何内部顺序。如果需要订单,必须使用子句明确指定该订单。此条件:
表示sys\u words.sys\u words\u ref
和user\u words.user\u info\u ref
之间的按位和
,稍后将其与user\u words.sys\u ref
进行比较
因此,您只会得到user\u words.sys\u words\u ref
与这两个字段之间的按位和
匹配的行,这可能仅适用于奇数行(设置了最后一位)
user_words.sys_words_ref = sys_words.sys_words_ref & user_words.user_info_ref = 1