【发布时间】:2016-06-30 21:09:22
【问题描述】:
我试图从 SQL 选择语句中获取响应,但是当我尝试回显编码为 JSON 的数组时,除了“-”之外我没有写任何东西,我回显以确保自己进入循环。
$sql = "SELECT * FROM PREGUNTA WHERE PREGUNTA.pregunta LIKE '%$palabra_clave%' OR PREGUNTA.respuesta_correcta LIKE '%$palabra_clave%' OR PREGUNTA.respuesta_falsa_1 LIKE '%$palabra_clave%' OR PREGUNTA.respuesta_falsa_2 LIKE '%$palabra_clave%' OR PREGUNTA.retroalimentacion LIKE '%$palabra_clave%'";
$query = mysqli_query($con, $sql);
$json = array();
while($data = $query->fetch_assoc()){
$json[] = array(
'pregunta' => $data['pregunta'],
'respuesta_correcta' => $data['respuesta_correcta'],
'respuesta_falsa_1' => $data['respuesta_falsa_1'],
'respuesta_falsa_2' => $data['respuesta_falsa_2'],
'retroalimentacion' => $data['retroalimentacion']
);
echo $data['pregunta'];
echo '<br>';
}
echo json_encode($json);
这是我的输出:
¿Cuál no es un lenguaje de programación web?
¿Cuál es el lenguaje web más importante?
【问题讨论】:
-
您检查过错误日志吗?您假设查询正在运行。
-
@Jay Blanchard 5 我检查了错误日志,但查询没有任何错误。此外,如果查询写得不好,我认为它不会进入循环。
-
查询是唯一的解释。
-回显了多少次?一次?肯定是查询。 -
在您的脚本中添加一些错误检查 - 有很多情况下不会将任何内容写入 mysql 的错误日志,而这里也不会写入网络服务器错误日志。
-
添加到最后一行
echo json_last_error_msg();并告诉我们你得到了什么。
标签: php mysql select associative-array