Вопрос для цитаты вопрос в коде PHP - PullRequest
0 голосов
/ 05 апреля 2019

Запрос не выполнен на основании '' 'или чего-то еще?

Я пытался использовать' '' или '\ "' или '\"'

Код MySQL:

SELECT Name, Address, City FROM PERSONAL WHERE Name LIKE "A%" INTO OUTFILE '/tmp/output.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';

Когда оператор SQL выше работал в командной строке MySQL.Затем я пытаюсь преобразовать в кодировку PHP, как показано ниже:

$filepath="/tmp/output.csv";
$query = "SELECT Name, Address, City FROM PERSONAL_DATA WHERE Name LIKE "A%" INTO OUTFILE '$filepath' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n'";

$result=mysqli_query($connection,$query) or die (mysqli_error());

Мне кажется, у меня проблема с цитатами.
Когда я использую OPTIONALLY ENCLOSED BY '"'

Я пытался OPTIONALLY ENCLOSED BY '\"' или '\\"'

Тесты запроса не пройдены.Страница PHP возвращается пустой, и иногда в журналах появляются сообщения об ошибках.

Ответы [ 2 ]

1 голос
/ 05 апреля 2019

Поскольку вы используете двойные кавычки в качестве разделителя строки PHP, вам необходимо избегать любых двойных кавычек внутри строки. Вы также можете использовать одинарные кавычки внутри, чтобы избежать необходимости избегать их.

$query = "SELECT Name, Address, City FROM PERSONAL_DATA WHERE Name LIKE 'A%' INTO OUTFILE '$filepath' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n'";
0 голосов
/ 05 апреля 2019

Вы можете использовать одинарные кавычки для строк в PHP и экранировать все одинарные кавычки, используемые внутри строки.

$filepath = '/tmp/output.csv';
$query = 'SELECT Name, Address, City FROM PERSONAL_DATA WHERE Name LIKE \'A%\' INTO OUTFILE \'' . $filepath . '\' FIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\' LINES TERMINATED BY \'\r\n\'';
$result = mysqli_query($connection, $query) or die (mysqli_error());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...