php - 当 php mysql_query 在 phpmyadmin 中工作时,某些列的空白结果

标签 php mysql sql json phpmyadmin

我遇到了一个让我有点疯狂的问题。我已将一些 csv 数据导入到 phpadmin 数据库中的表中,现在使用带有 mysql_query() 的 php 脚本在数据库上运行简单的选择查询并将结果转换为 json 格式 - 例如从表 29 中选择客户端

基本上,表中的某些列在通过 mysql_query() 传递后会生成 json 字符串,而其他列则仅返回空白。我现在已经摆弄了几个小时,但不明白这是为什么。我的代码的最后一部分如下所示:

$myquery = "SELECT `clients` FROM `TABLE 29`";

$query = mysql_query($myquery) or die(mysql_error());

if ( ! $query ) {
    echo mysql_error();
    die;
}

$data = array();

for ($x = 0; $x < mysql_num_rows($query); $x++) {
    $data[] = mysql_fetch_assoc($query);
}

echo json_encode($data);     

mysql_close($server);

任何帮助将不胜感激。会不会是表中数据的问题?我很茫然。

谢谢!

更新:clients 列中的字符串长度似乎有影响。当我用更短的内容替换所有文本时(例如 aaa 而不是 公司名称 111 - 045 - 项目名称 - 货币 - 等),它就可以工作了。但是,我需要它能够处理长字符串,因为我希望它只接受用户碰巧导入的任何内容...我做错了什么?

最佳答案

不,这与表格无关,而是与如何循环它们有关。示例:

$data = array();
while($row = mysql_fetch_assoc($query)) { // While a row of data exists, put that row in $row as an associative array
    $data[] = $row;
}
echo json_encode($data);
mysql_close($server);
exit;

注意:mysql 已弃用并且不再维护。使用 mysql 扩展的改进版本 mysqli 或使用 PDO 代替。

关于php - 当 php mysql_query 在 phpmyadmin 中工作时,某些列的空白结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25859358/

相关文章:

javascript - 上传大图像文件时 Ajax 响应为空

mysql - 将一个表转换为另一个行数较少的表?

mysql - dbUploadTemplate [pkg-monitor] 上的 R 包 monitoR 错误

java - 我无法连接到 MySQL 数据库

sql - 数据库是单线程的吗?

PHPExcel样式问题

php - 尝试在 MySQL 数据库表中存储/保存分数

php - 您将如何为此类类(class)编写测试?

sql - Drupal 7 SQL 语法

sql - 选择最近 7 天的行的最佳方式是什么?