如何将多个选定的MySQL列插入到单个PHP数组中

时间:2017-08-10 10:54:36

标签: php mysql arrays

你好

我没有找到任何有关将我选择的 MySQL 表格列插入单个 PHP 数组的问题的解决方案。

$sql = "SELECT * FROM zaznam,client WHERE zaznam.id_client=client.id_client 
AND zaznam.id_client=1";
$result = mysql_query($sql);

$data = array();
while ($row = mysql_fetch_assoc($result)) {
$data[] = $row;
}
echo json_encode($data);

-Edit:我需要“zaznam.date”,“zaznam.rozdil”和“client.limit”,但不是WHERE parametr中的id_client。

此代码将数据插入到表格的所有列中。但我希望达到解决方案,我只能在这个数组中插入一些列。

我正在尝试大约3个小时来找到关于这件事情的任何想法。也许我错过了一些东西,比如你链接我的解决方案,它也会很棒。

我希望我把你需要的所有信息都用来帮助我:)

Chosse

2 个答案:

答案 0 :(得分:3)

不是选择所有列(SELECT *),而是在SELECT子句后列出所需的列。

E.g:

SELECT zaznam.id_client, zaznam.other_field, client.name, client.something_else 
FROM zaznam,client 
WHERE zaznam.id_client=client.id_client 
    AND zaznam.id_client=1

答案 1 :(得分:0)

快速SQL教程..

一个表可以包含您希望它拥有的列数,例如我们可以调用此表Users

ID | Name | Email | DateOfBirth

您可以通过

从此表中选择ALL条记录

SELECT * FROM Users

如果您只需要1列,则需要命名

SELECT Email FROM Users

让我们在

中添加一些数据

ID | Name | Email | DateOfBirth

1 | Test | test@example.com | 01/01/1990

2 | Test2 | test2@example.com | 01/01/1990

如果我们只想使用ID = 2获取记录,那么我们使用WHERE子句

SELECT * FROM Users WHERE ID = 2

然后我们可以选择仅选择某些列,只查看ID = 2

所在的行

SELECT Name, Email FROM Users WHERE ID = 2

仅仅因为我在ID中使用WHERE并不会影响我在选择

中选择的内容

我可以继续但是真的......回到基础并从教程中学习SQL

对于您的特定查询,请执行此操作(就个人而言,使用INNER JOIN代替,分隔的联接更好更容易阅读 - 但就他们所做的而言,它们完全相同):

SELECT zaznam.date, zaznam.rozdil, client.limit 
FROM   zaznam
INNER JOIN client ON zaznam.id_client = client.id_client 
WHERE  zaznam.id_client=1