Я портирую некоторый старый код PHP от mysql до MySQLi, и я имею, столкнулся с незначительным препятствием.
Нет ли никакой эквивалент старому mysql_result()
функция?
Я знаю mysql_result()
медленнее, чем другие функции, когда Вы работаете больше чем с 1 строкой, но много времени у меня есть только 1 результат и 1 поле. Используя его позволяет мне уплотнить 4 строки в 1.
Старый код:
if ($r && mysql_num_rows($r))
$blarg = mysql_result($r, 0, 'blah');
Желаемый код:
if ($r && $r->num_rows)
$blarg = $r->result(0, 'blah');
Но нет такой вещи.:(
Есть ли что-то, что я пропускаю? Или я оказывающийся перед необходимостью сосать его и делать все:
if ($r && $r->num_rows)
{
$row = $r->fetch_assoc();
$blarg = $row['blah'];
}
Ну, вы всегда можете сократить его к чему-то вроде этого:
if ($r && $r->num_rows)
list($blarg) = $r->fetch_row();
, но это может быть так же хорошо, как вы собираетесь получить.
Если вы ищете надежную библиотеку для подключения к базе данных, я предлагаю вам использовать ADODB . Эта библиотека может подключаться к нескольким базе данных, и вам не нужно переписать ваш запрос, если вы измените базу данных, если она не содержит какого-либо конкретного SQL для определенного двигателя базы данных. Проверьте Эта страница для образца использования. Кроме того, если вы используете PHP5, вы можете использовать Foreach для итерации .
Я надеюсь, что это поможет вам преобразовать любые старые коды в более надежный код базы данных.