Спасибо за совет. Вчера столкнулся с тем, что дебаггер PHPDesigner не самый стабильный, бесконечные циклы его просто убивают. Часто не хочет останавливаться по ctrl+f2.
Подскажите в чем отличие NetBeans и Sublime Text 2. В двух словах, если не сложно.
И у кого более правильный и стабильный дебаггер, учитывая, что программист я пока, мягко говоря не очень сильный, это похоже будет основным условием.
Ну просто полная хрень, запустил тот же файл, $string получает строку прекрасно. Это что был за глюк?
Добавил только //var_dump($stroka);, а потом закоментировал. Это даже не смешно.
Ну это же не совсем то, я пробовал и просто 1 ставить в этой строке $stroka = $file_array[$i];
Проблема в том, что переменная не элемент массива получает, а весь массив.
$pos = strpos($stroka, $needle); //Вычисляем раздел --ВОТ ТУТ ОШИБКА!
if ($pos === false)
{
echo '<h2 align="center">'. $file_array[$i++] . '</h>'; //'<h2 align="center"> . $file_array[$i] . </h>';
}
Когда проверка строки имела вид: все более менее работало
$pos = strpos($file_array[$i],'Raz'); //Вычисляем раздел
Для отладки ввел 2 переменные $stroka и $needle
Вопрос: почему в выделенной жирным присвоении #stroka получает весь массив, а не его элемент под номером $i. Соответственно дебагер в строке выделенной курсивом ругается на то, что ожидается string а дают array.
Потихоньку разбираюсь с php, похоже наиболее удачной IDE является PHPDesigner.
Не могу нйати по нему никакого руководства, встроенная помощь весьма невнятная, изучать научным тыком системы такого уровня дело не быстрое и весьма хлопотное. А забивать микроскопом гвозди совсем как не хочется.
Собственно ищу информацию по пользовательскому интерфейсу, возможно встроенные "Руководства помощи" на русском. И неплохо бы встроенные подсказки по функциям на русском.
function get_post($link, $var)
{
mysqli_set_charset($link, "utf8");
return mysqli_real_escape_string($link, $_POST[$var]);
}
1. Для обработки данных, которые вводят пользователи использую mysqli_real_escape_string, но она ничего не терминирует, зарядил опаснейшую строку: 's "s /n \n // / \\ \ = ==
После отработки mysqli_real_escape_string, строка не изменилась и в том же виде угодила в БД, а это вроде как грустно.
2. Переменную $link - это указатель на соединение с MySQL объявлял как Global, однако функция ее не видит, пришлось передавать аргументом, что несколько неудобно. Что за замута с глобальными переменными в PHP?
и поставьте это поставьте перед вызовом mysqli_fetch_assoc
Собственно это решило проблему, функция mysqli_error() вернула ошибку "No database selected", соответственно выявилось различие синтаксиса mysql_connect(Хост, Пользователь, пароль), mysqli_connect(Хост, Пользователь, Пароль, БАЗА ДАННЫХ).
esterio, AmsTaFF, dXdYdZ большое спасибо, не могу плюсануть, не хватает сообщений : )
if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
mysql_select_db($db_database)
or die("Unable to select database: " . mysql_error());
$query = "SELECT * FROM classics";
$result = mysqli_query($db_server, $query);
if (!$result) die ("Database access failed: " . mysql_error());
echo $result;
?>
Как результат:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\web\call_base.php on line 3
Собственно вот такая ошибка имеет место.
Понятно, что данная функция устарела и не поддерживается современным MySQL, собственно вопрос вот в чем:
Неужели весь труд Никсона устарел и читать дальше его не имеет смысла, или проблема только в паре функций взаимодействия с MySQL?
Возможно стоит обратиться к другому учебнику?