Использование переменной в качестве имени столбца не работает в PHP-скрипте MYSQL - PullRequest
0 голосов
/ 03 февраля 2012

Я прошу прощения, если мой вопрос не имеет смысла.Как видно из приведенного ниже кода, он сканирует файлы PHP, захватывает текст между {( )} и сохраняет его в $match.

. Теперь я пытаюсь сделать запрос натаблица, которая ищет столбец $match, где идентификатор страницы равен идентификатору страницы из URL-адреса и где поля не являются пустыми.Пока что он возвращает только массив в текстовых областях.

Правильно ли я настраиваю код или я упускаю что-то простое?Я знаю, что сканирующая часть работает, потому что если я получаю эхо-совпадение, я получаю текст между {( )} областями.По какой-то причине он просто не выполняет запрос правильно.Или, как я сказал, я что-то упустил.Любая помощь будет отличной.Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.(Я не получаю никаких ошибок MySQL).

$fn = "../templates/".$templateid.".php";

$file = file_get_contents($fn);

preg_match_all("#\{\('(\w+)'\)}#", $file, $matches);   

foreach ($matches[1] as $match) 
    {
    $result = mysql_query("SELECT * FROM pages WHERE $match IS NOT NULL AND linklabel = '$pageID'") or die("Err: ".mysql_error());

    $res = mysql_fetch_array($result);
    $content = $res;
    echo " <div id='tabs-".$match."'>
           <textarea id='".$match."' name='content-".$match."' class='fieldsetstyle'>".$content."</textarea>
                     <script type='text/javascript'>
                     CKEDITOR.replace( '".$match."' );
                     </script>
           </div>";
    }

Ответы [ 2 ]

3 голосов
/ 03 февраля 2012

$ res - это массив, поэтому попробуйте вывести правильный столбец, например

echo $res['linklabel'];

или попробуйте var_dump ()

var_dump($res);


$content = $res; // Still, $content is an array, not text
0 голосов
/ 03 февраля 2012

Попробуйте это

 $result = mysql_query("SELECT * FROM pages WHERE ".$match." IS NOT NULL AND linklabel = '".$pageID."'") or die("Err: ".mysql_error());

Попробуйте это обновление

Замените это

 foreach ($matches[1] as $match) 

На это

foreach ($matches[1][1] as $match) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...