bash 스크립트를 사용하여 mysql에서 데이터를 선택하고 PHP로 전달하려면 어떻게 해야 합니까?

bash 스크립트를 사용하여 mysql에서 데이터를 선택하고 PHP로 전달하려면 어떻게 해야 합니까?

이것이 내가 지금 시도하는 것입니다

PHP에서는 다음 스크립트를 실행하고 있습니다.

exec('/home/user1/createinstanceinfolder.sh', $output, $return_var);

print_r($output);

다음 Bash 스크립트를 호출합니다.

declare -A arr == $(sudo mysql -u root -h localhost -e "USE mydb;SELECT * FROM users")

for i in "${arr[@]}"
do
echo "$i"
done

PHP가 빈 배열을 인쇄하고 있습니다. 여기서 무엇이 잘못되었나요?

답변1

내가 지원하는 올바른 구문은 다음과 같습니다.

#!/bin/bash

set -f        # disable globbing
IFS=$'\n'     # set field separator to NL (only)
arr=($(sudo mysql -u root -h localhost -e "USE mydb;SELECT * FROM users"))
 
for i in "${arr[@]}"
do
   echo "$i"
done

관련 정보