Почему результат запроса в php отличается от того, что я пытаюсь в phpmyadmin? - PullRequest
0 голосов
/ 25 марта 2012

Array ([0] => Array ([SubID] => 19 [0] => 19 [RandomCode] => P57bz0y24DdKofbI6M4BqJfDs0QNtL2XpBANnzys [1] => P57bz0y24DdKofbI6M4BqJfDs0QNtL2XpBANnzys [Email] => as@sasa.com [2] => as@sasa.com [CreateDate] => 2012-03-25 [3] => 2012-03-25 [UpdateDate] => 0000-00-00 [4] => 0000-00-00 [27_t1] => [5] => [31_asas] => 0 [6] => 0))

Результат теперь такой, но я не могу его получить

echo $result['Email'];

Почему ошибка? Спасибо

Ответы [ 3 ]

0 голосов
/ 25 марта 2012

Ваш результат показывает [Email] => Email, что означает, что MySQL получает SELECT 'Email' from subscriber WHERE SubID='19'

Он выбирает "Электронная почта" :), а не поле с именем Электронная почта

0 голосов
/ 25 марта 2012

?изменяется на 'Email' (не backticks).Так же:

$sql = '
   SELECT   ' . $set['Attribute'] . '
   FROM     subscriber
   WHERE    SubID=?
';
$stmt = $conn->prepare($sql);
$stmt->execute(array($sub));
0 голосов
/ 25 марта 2012
SELECT   ? 

не хорошо!

список столбцов, который вы выбираете, не должен быть переменной связывания, потому что (как строковое значение) он будет заключен в кавычки, а не в обратные черты.Затем MySQL будет обрабатывать ее как простую строку в кавычках и возвращать эту строку в кавычках ('Email'), а не фактический столбец, который вы хотите для каждой возвращаемой записи.

Не связывайте имя столбца.Используйте SELECT *, только одну переменную связывания для значения SubID в предложении WHERE.

Когда вы выполните fetchAll (), затем обойдите результат, извлекая нужный вам столбец.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...