Данный файл или каталог отсутствует? Но файл существует!

Из руководства : mysqli_multi_query() возвращает bool, указывающий на успех.

Чтобы получить набор результатов из первого запроса, вы можете использовать mysqli_use_result () или mysqli_store_result (). Все последующие результаты запроса могут быть обработаны с помощью mysqli_more_results () и mysqli_next_result ().

blockquote>

Вот функция, которая возвращает последний результат многопроцесса:

function mysqli_last_result($link) {
    while (mysqli_more_results($link)) {
        mysqli_use_result($link); 
        mysqli_next_result($link);
    }
    return mysqli_store_result($link);
}

Использование:

$link = mysqli_connect();

$query  = "SELECT 1;";
$query .= "SELECT 2;";
$query .= "SELECT 3";

mysqli_multi_query($link, $query);
$result = mysqli_last_result($link);
$row = $result->fetch_row();
echo $row[0];  // prints "3"

$result->free();
mysqli_close($link);

187
задан Francesco 8 May 2012 в 12:56
поделиться

4 ответа

Вот расшифровка стенограммы, показывающая немного больше о природе проблемы, и как зафиксировать ее с Ubuntu 16.04. Заметьте что даже при том, что file отчеты, "динамично связанные", ldd отчеты "не динамический исполняемый файл".

$ ./myprogram
bash: myprogram: No such file or directory

$ file myprogram
myprogram: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.2.5, not stripped

$ ldd myprogram
    not a dynamic executable

, После того как Вы устанавливаете libc6:i386, вещи начинают улучшаться...

$ sudo apt-get install libc6:i386 # the initial fix
...

$ ldd myprogram
    linux-gate.so.1 =>  (0xf77fd000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7626000)
    /lib/ld-linux.so.2 (0x56578000)

$ ./myprogram
myprogram: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Для завершения задания Вы, возможно, должны определить и установить дополнительные библиотеки по одному...

$ sudo apt-get install libstdc++6:i386 ## may require various additional libs

$ ./myprogram
... works correctly ...

я не знаю, существует ли систематический способ определить корректные библиотеки для установки. Существует немного догадок, отображающих сообщения об ошибках для упаковки имен (заполнение клавишей Tab помогает).

3
ответ дан nobar 22 October 2019 в 15:02
поделиться

Системы Мультидуги Ubuntu на 64 бита

Следуют этому ответу, только если вывод file file-name шоу,

file-name: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped

Для выполнения исполняемого файла на 32 бита в мультидуге на 64 бита система Ubuntu необходимо добавить i386 архитектура, и также необходимо установить libc6:i386, libncurses5:i386, libstdc++6:i386 эти три пакета библиотеки.

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
./file-name
54
ответ дан Gerhard Burger 22 October 2019 в 15:02
поделиться

Путем установки deb для 32 битов я понял, что отсутствовал, некоторые библиотеки (в дополнение к ia32-освобождает и libc6). Я сначала решил эту проблему путем предоставления этой команды:

sudo apt-get install -f          

Затем я получил другую ошибку:

Message: SDL_GL_LoadLibrary 
Error: Failed loading libGL.so.1

, Очевидно, эти библиотеки были правильно установлены. Без того, чтобы сообщать подробности я должен был связать библиотеки вручную. Я понял затем, что это могло также более легкое решение посредством Синаптической установки следующие пакеты:

libgl1-mesa-glx:i386
libgl1-mesa-dri: i386.

После этого следующей проблемой был черный экран при проигрывании, который я решил путем замены исполняемого файла в/Shank/bin с этим: http://treefort.icculus.org/smb/smb-linux-mesa-hotfix-test.tar.bz2 .

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

4
ответ дан kiri 22 October 2019 в 15:02
поделиться

Вы, вероятно, пытаетесь выполнить 32-разрядный двоичный файл в 64-разрядной системе, которой не установили 32-разрядную поддержку.

существует три случая, где можно получить сообщение “No такой файл или directory”:

  • файл не существует. Я предполагаю, что Вы проверили, что файл действительно существует (возможно, потому что оболочка завершает его).
  • существует файл тем именем, но это - повисшая символьная ссылка.
  • файл существует, и можно даже считать его (например, команда file shank-linux-120720110-1-bin отображает что-то как 32-разрядный исполняемый файл LSB “ELF †¦ ”), и все же когда Вы пытаетесь выполнить его, Вам говорят, что файл не существует.

сообщение об ошибке в этом последнем случае по общему признанию сбивает с толку. То, что это говорит Вам, - то, что ключевой компонент среды выполнения, необходимой для запущения программы, отсутствует. К сожалению, канал, через который об ошибке сообщают только, имеет пространство для кода ошибки а не для этой дополнительной информации, что это - действительно среда выполнения, это виновато. Если Вы хотите техническую версию этого объяснения, читайте Получение сообщения “Not found” при выполнении 32-разрядного двоичного файла в 64-разрядной системе .

Эти file команда скажет Вам, каков этот двоичный файл. За немногим исключением можно только выполнить двоичный файл для архитектуры процессора, для которой релиз Ubuntu. Основное исключение - то, что можно работать 32-разрядный (x86, иначе IA32) двоичные файлы на 64-разрядном (amd64, иначе x86_64) системы.

В Ubuntu до 11,04, для выполнения 32-разрядного двоичного файла на 64-разрядной установке Вы должны к [1 122] установить ia32-libs пакет Install ia32-libs . Вы, возможно, должны установить дополнительные библиотеки (Вы получите явное сообщение об ошибке, если Вы сделаете).

Начиная с 11,10 (сновещательных) представленных мультидуга поддержка, можно все еще установить ia32-libs, но можно выбрать подход с более прекрасными зернами, достаточно добраться libc6-i386 Install libc6-i386 (плюс любая другая необходимая библиотека).

236
ответ дан Community 22 October 2019 в 15:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: