2013-07-31 1 views
-1

EDIT:сделано - PHP использование SQL обратного вызова

ПРОБЛЕМА СЛЕДУЮЩЕЕ:

$ PAGETITLE не может быть использована вне функции.

Вот что я получил до сих пор:

function getMetaData($table, $rows){ 
    echo $table; 
    echo $rows; 
    $selectTitle = "select * from $table"; 
    $getTitle = mysql_query($selectTitle); 
    while ($showTitle = mysql_fetch_assoc($getTitle)){ 
     $pageTitle = $showTitle[$rows]; 
    } 
} 

getMetaData('metadata', 'Pagetitle'); 

Мой выход

<?php echo $pageTitle ?> 

-> это не определено

Спасибо

+0

в то время как эхо они правильно относятся .. ?? – Gautam3164

+0

Да, это было просто для тестирования – xhallix

+0

Работает ли это: '$ pageTitle = $ showTitle ['Pagetitle'];' внутри цикла while? – vee

ответ

1

Ваша функция не возвращает никакого значения и не печатает никакого значения. на основе вашего EDIT использования

global $pageTitle; 

в начале вашей функции и перед использованием переменной.

+0

как вы ожидаете обратного вызова или что когда-либо он должен работать, если нет возвращаемого значения? есть ли какое-то чудо-отражение? – DevZer0

+0

Думаю, все здесь играют в игру гадания. Теперь, после комментария OP, вы можете стать победителем. Подождем код OP. – vee

+0

У меня нет обратного вызова, но проблема с областью видимости, которую я заметил, думаю, что я разрешу это сейчас. – xhallix

1

Просто TRY с mysql_free_result() как

$selectTitle = "SELECT * FROM '".$table."'"; 
$getTitle = mysql_query($selectTitle); 
$pageTitle = ''; 
while ($showTitle = mysql_fetch_assoc($getTitle)){ 
    $pageTitle = $showTitle[$rows]; 
} 
return $pageTitle;    //Return even the pageTitle. 

mysql_free_result() освободит всю память, связанную с результатом.

И согласно вашему EDIT попробовать как:

$pageTitle = getMetaData('metadata', 'Pagetitle'); 
echo $pageTitle; 
+0

извините тоже не работает. Я также попробовал {$ table} – xhallix

+0

Попробуйте мое редактирование..Я забыл добавить free_result – Gautam3164

+0

нет извините, не работает :( – xhallix

1

Вы должны инициализировать variable $pageTitle первый, как,

function getMetaData($table, $rows){ 
    echo $table; 
    echo $rows; 
    $selectTitle = "select * from $table"; 
    $getTitle = mysql_query($selectTitle); 
    $pageTitle=''; 
    while ($showTitle = mysql_fetch_assoc($getTitle)){ 
     $pageTitle = $showTitle[$rows]; 
    } 
    return $pageTitle; // returning the variable will work here 
} 
echo getMetaData('metadata', 'Pagetitle'); 
+0

тоже не работает;) без обратного вызова он отлично работает, поэтому я думаю, что это не из-за инициализации переменная – xhallix

+0

Вышеуказанное будет wo rk правильно, вам нужно проверить свою «таблицу базы данных». У вас есть данные в вашей «таблице базы данных» или нет, также вам нужно использовать «LIMIT» здесь. –

Смежные вопросы