Я столкнулся с старой функцией, которую хотел бы преобразовать в mysqli, но я застрял в части mysql_result ($result, 0, $colname['i])
; было бы лучше использовать data/field_seek, и если да, то какой был бы лучший метод?Преобразование mysql_ result() в mysqli в PHP-функции для цикла
function friend_data($q, $colname)
{
$result = mysql_query ($q);
if (mysql_num_rows($result) > 0)
{
$colname = explode("|", $colname);
for ($i = 0; $i < count($colname); $i++)
{
global $$colname[$i];
$$colname[$i] = mysql_result ($result, 0, $colname[$i]);
}
}
}
Как это используется прямо сейчас:
$q = "SELECT first_name,last_name,user_email FROM users WHERE country = '".$country."';
и вызова функции friend_data, поставляется с названиями колонок:
friend_data ($q, "first_name|last_name|user_email");
переменные ($first_name,$last_name,$user_email)
теперь могут быть использованы в остальную часть кода, которую я хотел бы сохранить в таком формате, как показано ниже:
function friend_data($q, $colname)
{
$result = $db->query ($q);
if (mysqli_num_rows($result) > 0)
{
$colname = explode("|", $colname);
for ($i = 0; $i < count($colname); $i++)
{
global $$colname[$i];
$$colname[$i] = ... ;
}
}
}
Так что mysql_result ($result, 0, $colname[$i])
конкретно я не знаю, как «перевести» в рабочий код mysqli.
Любая помощь/советы/указатели о том, как действовать, будем очень благодарны!
Это должно сделать трюк : http://php.net/manual/de/mysqli-stmt.bind-result.php – Jeff
@barmar Почему это обозначено как дубликат? Я видел результат, опубликованный Barmar. Прежде чем я разместил свой вопрос. Ну что ж. –
@WillyFox Решения в этом вопросе не работают? – Barmar