Здравствуйте всем. Помогите оторваться от ошибки - переписываю сайт с mysql на mysqli и повсюду примерно одна и та же ошибка ,,mysqli ожидает параметр 1, заданный ... и т.д. ,, И сейчас сижу с утра и то же опять - Код (Text): $ru = mysqli_query ("SELECT * FROM pols_board") or die(mysqli_error()); $rru = mysqli_fetch_array($ru); date_default_timezone_set($rru['timezone']); Пишет сразу две ошибки - 1) Warning: mysqli_query() expects at least 2 parameters, 1 given in... 2) Warning: mysqli_error() expects exactly 1 parameter, 0 given in.... Переписываю на новый лад - Код (Text): $res = $mysqli->query("SELECT id FROM pols_board"); $rru = mysqli_fetch_array($ru); date_default_timezone_set($rru['timezone']); Пишет ошибку - Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in.... Где золотая середина ???
PHP: $res = $mysqli->query("SELECT id FROM pols_board"); $rru = mysqli_fetch_array($res); date_default_timezone_set($rru['timezone']);
В первом случае (процедурный MySQLi) соединение должно быть первым параметром query. Во втором случае куда делась проверка результата выполнения запроса? Параметром fetch должна быть $res. @_ne_scaju_, @Byba, ООП- и процедурный синтаксисы MySQLi лучше не смешивать в одном контексте.
PHP: if ($ru = $mysqli->query("SELECT * FROM pols_board")){ $rru = $ru->fetch_array(); }else{ printf("Сообщение ошибки: %s\n", $mysqli->error); }
во втором случае у тебя видимо ошибка в sql запросе. может у тебя нет поля pols_board , а есть поле polls_board ?
[QUOTE="miketomlin, post: 605137,] @_ne_scaju_, @Byba, ООП- и процедурный синтаксисы MySQLi лучше не смешивать в одном контексте.[/QUOTE] Я лишь показал где ошибка.
@_ne_scaju_, принимается, только ты еще это пропустил: --- Добавлено --- P.S. Это типичная причина ошибки --- Добавлено --- Хотя null там, конечно, скорее всего из-за описки, на кот. ты указал.
Спасибо за подсказки, подошел вот такой вариант Код (Text): $res = mysqli_query($link,"SELECT * FROM `pols_board`"); if($res) { while($row = mysqli_fetch_assoc($res)) { print_r($row); } А таблица есть `pols_board` , но в таком варианте выводит все с Дампа данных таблицы списком в верху монитора. Наверное надо указать кодировку и timezone ? А как это сделать в MySQLi ?
Если сайт с расширением MySQL работает все замечательно, а вот переписать под MySQLi , я думаю - бесполезно, никогда до ума не доведёшь. Интересно , вот реально кто ни будь этим занимался ? Что б до конца да с положительным результатом ?
На процедурный MySQLi не оч. сложно перевести. Когда-то занимался. MySQLi уже сто лет рулит. В след. раз попробуйте использовать обертки для ф-ций для работы с БД.
Я начал на ооп, но попробую на процедурный. Я тут немного начинаю понимать почему у меня выводит текстом таблицу pols_board . Есть ошибки в других файлах влияющие на это. Код (Text): if(intval($_GET['pols'])==1) echo 'checked'; if(intval($_GET['pols'])==2)echo 'checked'; И пишет ошибку не определенный индекс pols (Notice: Undefined index: pols in...) Вот как зти строчки поставить на MySQLi ? Если еще кто читает подскажите пожалуйста.
Я тебе уже писал в др. теме, что это не относится к переходу на MySQLi. Видать, сайт не просто древний, а еще криво написан.
Да давно начинал, потом пять лет не было времени, сейчас решил закончить (хотя в MySQL почти готов) заодно поменять расширение. Это радио кнопка, но как то ж она пишется по новому. Сам роюсь в интернете, ищу.