我有一个客户端数据库并使用以下语句返回地址数据库记录:
RaspberryPi-FreeRTOS/
├── build
│ ├── Demo
│ │ ├── Drivers
│ │ │ ├── gpio.d
│ │ │ ├── gpio.o
│ │ │ ├── irq.d
│ │ │ └── irq.o
│ │ ├── main.d
│ │ ├── main.o
│ │ └── startup.o
│ └── FreeRTOS
│ └── Source
│ ├── croutine.d
│ ├── croutine.o
│ ├── list.d
│ ├── list.o
│ ├── portable
│ │ ├── GCC
│ │ │ └── RaspberryPi
│ │ │ ├── port.d
│ │ │ ├── portisr.d
│ │ │ ├── portisr.o
│ │ │ └── port.o
│ │ └── MemMang
│ │ ├── heap_4.d
│ │ └── heap_4.o
│ ├── queue.d
│ ├── queue.o
│ ├── tasks.d
│ └── tasks.o
├── dbuild.config.mk
├── Demo
│ ├── Drivers
│ │ ├── bcm2835_intc.h
│ │ ├── gpio.c
│ │ ├── gpio.h
│ │ ├── irq.c
│ │ └── irq.h
│ ├── FreeRTOSConfig.h
│ ├── main.c
│ └── startup.s
├── FreeRTOS
│ └── Source
│ ├── croutine.c
│ ├── include
│ │ ├── croutine.h
│ │ ├── FreeRTOSConfig.h
│ │ ├── FreeRTOS.h
│ │ ├── list.h
│ │ ├── mpu_wrappers.h
│ │ ├── portable.h
│ │ ├── projdefs.h
│ │ ├── queue.h
│ │ ├── semphr.h
│ │ ├── StackMacros.h
│ │ ├── task.h
│ │ └── timers.h
│ ├── list.c
│ ├── portable
│ │ ├── GCC
│ │ │ └── RaspberryPi
│ │ │ ├── port.c
│ │ │ ├── portisr.c
│ │ │ └── portmacro.h
│ │ └── MemMang
│ │ ├── heap_1.c
│ │ ├── heap_2.c
│ │ ├── heap_3.c
│ │ └── heap_4.c
│ ├── queue.c
│ ├── tasks.c
│ └── timers.c
├── kernel.elf
├── kernel.img
├── kernel.list
├── kernel.map
├── kernel.syms
├── Makefile
├── objects.mk
├── raspberrypi.ld
└── README.md
结果如下:
$query = $this->db_connection->prepare('SELECT company, street, etc. FROM clients ');
为了快速概述,我生成了一个php表,并将Array (
[0] => Array (
[company] => The one and only company
[street] => Road to heaven 114
[etc.] => ....
[1] => Array (
[company] => Better forever
[street] => Wild west 145
[etc.] => ....
)
)
中的组合字符串打印到一个字段中。
为了让它在php中更简单,我想让company, street, etc.
完成工作。
PDO准备语句如下所示:
mySQL
但结果包含了我们预期的数字,而不是我的预期。
$query = $this->db_connection->prepare('SELECT company +", "+ street as adress FROM clients ');
我做错了什么?
答案 0 :(得分:2)
您不应该使用+
来连接不同的字段,因为它将成为一个数学表达式。 +
是addition的算术运算符,这就是它返回数字的原因。
您正在寻找CONCAT(或者CONCAT_WS)功能,如下所示:
SELECT CONCAT(`company`, ", ", `street`) AS `address` FROM `clients`;
应该返回:
['address'] => 'The one and only company, Road to heaven 114'
答案 1 :(得分:1)
SELECT CONCAT_WS(',','company','street') AS `address` FROM `clients`;
第一个参数是参数其余部分的分隔符