Intereting Posts
Ошибка компиляции: отсутствует завершение] для символьного класса Загрузка в Codeigniter – тип файла, который вы пытаетесь загрузить, не разрешен сортировать данные json или многомерные массивы в php Получать случайные фразы из массива в PHP? Показать активную боковую панель в WordPress Множественный список выбора состояния, не отображающий все города в другом списке (Php, mysql, ajax) PHP, определяющий кодировку файловой системы запрашивать базу данных mysql внутри класса Открытие документа Word в режиме чтения с использованием php? Сохраненные неанглийские символы, получившие '?????' – Ошибка набора символов MySQL подавить ошибку apache 500 для «записи других» WordPress, nginx proxy и подкаталог: wp-login.php перенаправляет в домен Выполнение javascript-скрипта после загрузки ajax-страницы – не работает Извлечение данных из двоичных файлов с помощью php Переименуйте папку «web» в Symfony 1.4

Как получить одну строку из Oracle в PHP?

Я хочу знать, как извлечь одну строку из Oracle в PHP?

Chedck my script-: Я хочу извлечь одну строку из таблицы ITEM_INFO и сравнить эти значения с переменными $ sku & $ code … Логика, которую я применил, которая работает в Mysql, но не работает в Oracle …

Каждый раз, когда $ sku & $ code содержит diff. поэтому мне просто нужно сравнить их с таблицей ITEM_INFO, и если это совпадения, то обновите флаг для того же …

$query_fetch = "SELECT ITEM_NAME,SITE_CODE FROM app.ITEM_INFO WHERE ITEM_FLAG = 'N'"; $stmt = oci_parse($conn,$query_fetch); oci_execute($stmt); while(($row = oci_fetch_array($stmt, OCI_BOTH))) { $ITEM_NAME = ($row["ITEM_NAME"]); $SITE_CODE = ($row["SITE_CODE"]); if(($ITEM_NAME === $sku) && ($SITE_CODE === $code)) { $query_ora_update = "UPDATE app.ITEM_INFO SET ITEM_FLAG= 'Y', LAST_UPDATE_DATE = sysdate WHERE ITEM_NAME = '$sku' AND SITE_CODE = '$code' AND ITEM_FLAG = 'N' "; $parse_result = oci_parse($conn,$query_ora_update); $result = oci_execute($parse_result); oci_commit($conn); oci_close($conn); } } 

PLZ руководство меня …

    В принципе, вам просто нужно удалить цикл while.

    Вот переписывание вашего кода, применяющего это изменение (+ вы используете слишком много скобок, уменьшая читаемость кода +, вы должны использовать привязку SQL, чтобы избежать инъекции):

     $query_ora_update = "UPDATE app.ITEM_INFO SET ITEM_FLAG= 'Y', LAST_UPDATE_DATE = sysdate WHERE ITEM_FLAG = 'N'"; $parse_result = oci_parse($conn, $query_ora_update); $result = oci_execute($parse_result); oci_commit($conn); oci_close($conn); 

    Чтобы получить одну строку в Oracle, добавьте в свой оператор where следующее условие:

     ROWNUM = 1 

    К сожалению, я не мог понять остальную часть вашего кода, не понял, почему «ifs», если у вас уже есть такое же условие в предложении where вашего обновления.

    Oracle, эквивалентный mysql_fetch_assoc, – oci_fetch_assoc 🙂

     $parsed = ociparse($conn, $sql); while ($row = oci_fetch_assoc($parsed)) { // your logic here }