Я хотел бы получить полный результат подготовленного оператора в качестве массива (пары ключей/значения), чтобы позже использовать его в функции str_replace () .
Моя таблица имеет три столбца, индекс и поля "x1" и "x2". Я успешно использовал следующее: < /p>
$db = new mysqli("servername", "username", "pw", "dbname");
if($ps1 = $db->prepare("SELECT x1, x2 FROM my_table")) {
$ps1->execute();
$ps1->bind_result($search, $replace);
$result = array();
while ($ps1->fetch()) {
$result[$search] = $replace;
}
$ps1->close();
}
< /code>
Однако я думаю, что должен быть более простой способ без цикла < /code>, получая полный результат, не добавляя из отдельных рядов один за другим. < /p>
Я посмотрел на другие вопросы, и я придумал следующие, но это не работает («Предупреждение: mysqli_fetch_assoc () ожидает, что параметр 1 будет mysqli_result»): < /p>
if($ps1 = $db->prepare("SELECT x1, x2 FROM my_table")) {
$ps1->execute();
$result = mysqli_fetch_assoc($ps1);
return $result;
$ps1->close();
}
< /code>
Я также попробовал $ result = mysqli_fetch_all ($ ps1); < /code> Без успеха (получение «вызовы к неопределенной функции mysqli_fetch_all ()»). < /p>
Кстати, я использую php 5.6. < /p>
Дополнение после некоторых ответов и обсуждения в комментариях, касающихся Mysqlnd: < /p>
phpinfo()< /code> Отображает следующую информацию в своем разделе Mysqlnd < /code>: < /p>
Загруженные плагины:
mysqlnd, debug_trace, auth_plugin_mysql_native_password, auth_plugin_mysql_clear_password, auth_plugin_sha256_password
Подробнее здесь: https://stackoverflow.com/questions/513 ... t-as-array