2012-01-10 2 views
1

Привет, я работал над задачей переноса некоторого кода с какого-то старого сайта, управляемого postgresql, на новый и импортированный сайт, работающий с mysql. Есть некоторые участки кода, который вызывает функцию использовать как:php postgres fetch преобразование массива в mysql

$DataArrDT = pg_fetch_array($result,$i); 

Тогда позже в коде есть разделы, как:

if ($DataArrDT[0]=="") 

на основе индекса DataTable массива, различные разделы для таблиц построены для видимости.

Однако, когда код был изменен, чтобы передать вызов функции mysql_fetch_array, а тонны предупреждений бросаются. Я полностью ожидал этого; Тем не менее, я уже довольно долго пытался их решить, и я дошел до того, что знал, что банки мертвы.

вот что я пытался:

$DataArrDT = mysql_fetch_array($result,$i); 

или

$DataArrDT = mysql_fetch_assoc($result,$i); 

независимо от выбора я все еще получаю ошибки:

Notice: Undefined смещение: 5 в .php на line xxx

И те undefi Ned смещения предупреждения, как правило, идут рука об руку с

Внимание: mysql_fetch_assoc() [function.mysql-выборки-ассоциативный]: Тип результата должен быть либо MYSQL_NUM, MYSQL_ASSOC или MYSQL_BOTH в .php по линии ххх

Если у меня что-то не хватает, чтобы помочь вам предоставить отзыв о том, как решить проблему, сообщите мне, и я добавлю к исходным сообщениям. это то, что мне нужно выяснить. Если есть ссылка, я должен также прочитать сообщение, чтобы в будущем я мог расширить свою глубину.

ответ

2

Функции pg_fetch_array() и mysql_fetch_array() не совсем то же самое. pg_fetch_array() получает три параметра, но mysql_fetch_array() только два. Параметр, не поддерживаемый mysql_fetch_array(), является тем, который используется в вашем случае. $i, насколько я могу видеть, и по ссылке:

http://php.net/manual/en/function.pg-fetch-array.php

используется для обозначения: Номер строки в результате принести. Эта опция не доступна в версии MySQL, проверить это:

http://php.net/manual/en/function.mysql-fetch-array.php

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

+0

Спасибо за сообщение. Я должен был внимательно прочитать руководство. Я мог бы выполнить то, что мне нужно: mysql_fetch_array ($ result, MYSQL_BOTH) или MYSQL_NUM. это сработало. Спасибо, что заставил меня перечитать :) – bcar

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