У меня есть функция PHP, которую я конвертирую с использованием расширения mysql в расширение mysqli.
Все идет хорошо, пока здесь. Раньше я использовал mysql_result для получения одного фрагмента данных. В mysqli нет прямого эквивалента, поэтому я попробовал следующее, но оно все еще не работает.
function getdbvalue($table,$value,$idfield,$id) {
$qrytext = "SELECT $value FROM $table WHERE $idfield LIKE '$id'";
$valueqry = mysqli_query($dbh,$qrytext);
if (FALSE === $valueqry) die("Select failed: ".mysqli_error);
$result = mysqli_fetch_row($valueqry);
$returnvalue = $result[0];
return $returnvalue;
}
Я проверил, что переменные передаются в функцию нормально, и функция фактически запускается. Если я верну $id, я увижу идентификационные номера.
Я не получаю ошибку для запроса.
РЕШЕНО:
Мне нужно было добавить переменную подключения к базе данных как глобальную в функцию:
Рабочий код:
function getdbvalue($table,$value,$idfield,$id) {
global $dbh; // This was missing!
$qrytext = "SELECT $value FROM $table WHERE $idfield LIKE '$id'";
$valueqry = mysqli_query($dbh,$qrytext);
if (FALSE === $valueqry) die("Select failed: ".mysqli_error);
$result = mysqli_fetch_row($valueqry);
$returnvalue = $result[0];
return $returnvalue;
}
Спасибо всем за помощь. :)
var_dump
из$result
. - person christopher   schedule 11.04.2013