Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 1 / 1
Регистрация: 23.07.2016
Сообщений: 80
1

Порекомендуйте книги(или др материал) для изучения "php и sql"

27.07.2016, 17:15. Просмотров 1037. Ответов 14


При создании post обработчика со sql запросом возникли множественные вопросы(ошибки), при этом имеющиеся manual и статьи показали малую информативность. Так что решил перейти на изучение книг. Изучаю программирование недавно, так что хотелось получить рекомендации у опытных.
причина

/wp, глобал переменные=on, sql запрос проверен phpmyadmin/
Не происходит добавление новой строки.
В обработчике переменные все выводятся(через echo '<pre>'; var_dump), так что похоже проблема в переменной в sql. На форумах про это пишут как о незнании основ sql php.
PHP
1
2
3
4
5
6
<?php //обработчик
global $wpdb;
$title_eng=$_POST['title_eng'];
$result = mysql_query ( "INSERT INTO  `wp_info` 
SET title_eng = '".$title_eng."' ");
?>
p.s. код сократил на макс. для простаты выявления причины
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.07.2016, 17:15
Ответы с готовыми решениями:

Книги по ASP .NET для изучения "с нуля"
Добрый вечер. Прощу сразу камнями не бить - я видел и прикрепленную тему, и пользовался поиском -...

Как в sql реализован логич.тип?Как можно в sql сделать так,чтобы были только значения "0"и"1" или "да"и"Нет"?
Хочу использовать в таблице переменные логического типа, но не нашла ничего про логический тип в...

Порекомендуйте программу для отработки метода "слепой печати" в русской и английской раскладке и/или учебные материалы.
Стыдно печатать смотря на клавиатуру. Спасибо.

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько...

14
470 / 398 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
27.07.2016, 17:21 2

Не по теме:

ссорян


Маловато инфы) код бы расширить для просмотра...А так, проверку на существование $_POST если ее нет, запрос корректно верный, поубирать лишние пробелы разве что
0
457 / 365 / 94
Регистрация: 01.05.2010
Сообщений: 1,751
27.07.2016, 19:13 3
$title_eng точно не пустой? Проверьте.
И этта. Вы объявили $wpdb, так зачем же вы используете mysql_query? Используйте $wpdb
PHP
1
$wpdb->query("INSERT INTO  `wp_info` SET `title_eng`='$title_eng'");
И еще. Текстовые значения должны передаваться в SQL в кавычках.
1
2 / 1 / 1
Регистрация: 23.07.2016
Сообщений: 80
28.07.2016, 07:52  [ТС] 4
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//форма
<form method = "post" action = "wp-content\themes\vns\action.php" >
<input type="text" class="title_eng" name="title_eng" size="25" maxlength="50" value="">
<input type="submit" value="Submit!">
<input type="reset" name="Reset" value="reset">
</form> 
[/PHP]
зверушь при
[PHP]<?php
global $wpdb;
$title_eng=$_POST['title_eng'];
echo '<pre>';
var_dump($title_eng);
$wpdb->query("INSERT INTO  `wp_info` SET `title_eng`='$title_eng'");
?>
string(2) "ki"
Fatal error: Call to a member function query() on a non-object in Z:\home\vns1.ru\www\wp-content\themes\vns\action.php on line 6

Запросы инсерт без переменных в начальном коде(title_eng='ki') из php нормально создают новую запись, но переменные...

p.s. вообще то создавал тему что бы подкину ли литературы почитать, может с самой проблемой отдельную тему(в каком разделе?)?
0
470 / 398 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
28.07.2016, 07:57 5
Еще раз повторюсь, проверка на существование элемента в массиве POST выполняется? echo $title_eng на 4 строке если поставить что выведет?
0
2 / 1 / 1
Регистрация: 23.07.2016
Сообщений: 80
28.07.2016, 08:03  [ТС] 6
PHP
1
2
3
4
5
6
7
<?php
global $wpdb;
$title_eng=$_POST['title_eng'];
echo $title_eng;
$result = mysql_query ( "INSERT INTO  `wp_info` 
SET title_eng = '".$title_eng."' ");
?>
при вводе в форму(см. код выше) выведет "ki"
чем тебе проверка не нравиться:
PHP
1
2
echo '<pre>';
var_dump($title_eng);
вообще если переменную в sql запросе не обрамлять '".$a."' то выдает ошибки синтаксиса
0
470 / 398 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
28.07.2016, 08:06 7
Не заметил var_dump по утру ошибка говорит, что в $wpdb у вас не объект. Покажите что там хранится то)
0
шКодер самоучка
2127 / 1843 / 902
Регистрация: 09.10.2013
Сообщений: 4,029
Записей в блоге: 7
28.07.2016, 08:10 8
Лучший ответ Сообщение было отмечено Онири как решение

Решение

Цитата Сообщение от Онири Посмотреть сообщение
Fatal error: Call to a member function query() on a non-object in Z:\home\vns1.ru\www\wp-content\themes\vns\action.php on line 6
у вас вызов action.php идет без инициализации WordPress, поэтому хэндл базы и неинициализирован.

Добавлено через 1 минуту
Цитата Сообщение от СлаваВирус Посмотреть сообщение
Покажите что там хранится то)
это глобалка WP. Подключение к БД
1
2 / 1 / 1
Регистрация: 23.07.2016
Сообщений: 80
28.07.2016, 08:18  [ТС] 9
1. уточни что там с $wpdb. 2. где хранится?

Добавлено через 7 минут
Cra3y, я интересоваться программированием начал месяц назад. Только в инициализации WordPress проблемы? Если так пойду дальше изучать документацию и статьи, книг так никто и не посоветовал
0
шКодер самоучка
2127 / 1843 / 902
Регистрация: 09.10.2013
Сообщений: 4,029
Записей в блоге: 7
28.07.2016, 08:24 10
Онири, держите
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$cfg = [
// поменяйте на ваши
    'host' => 'localhost',
    'user' => 'user',
    'password' => 'pass',
    'database' => 'dbname'
];
$db = connection($cfg);
$query = $db->prepare("INSERT INTO  `wp_info` SET title_eng = :title");
$query->execute([':title' => $_POST['title_eng']]);
 
function connection($db_config = null)
{
    /** @var \PDO $link */
    static $link = null;
    if (is_null($link)) {
        if (is_array($db_config)) {
            $pdo_options = [
                \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
                \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION
            ];
            $dsn = sprintf('mysql:host=%s;dbname=%s;charset=utf8',
                $db_config['server'],
                $db_config['dbname']);
            $link = new \PDO($dsn, $db_config['login'], $db_config['password'], $pdo_options);
        }
    }
 
    return $link;
}
Добавлено через 1 минуту
Цитата Сообщение от Онири Посмотреть сообщение
документацию
http://php.net/manual/ru/ - лучше этого не найдете.

Добавлено через 3 минуты
Цитата Сообщение от Онири Посмотреть сообщение
статьи, книг так никто и не посоветовал
В разделе есть прикрепленная тема
А так советую "Мэтт Зандстра — PHP объекты, шаблоны и методики программирования"
1
2 / 1 / 1
Регистрация: 23.07.2016
Сообщений: 80
28.07.2016, 08:29  [ТС] 11
есть прикрепленная, но по мне это больше как свалка выглядит. никакой систиматизации
0
Max Dark
28.07.2016, 08:40
  #12

Не по теме:

Онири, изучайте алгоритмы и структуры данных, а не язык. Язык программирования это всего лишь инструмент для выражения алгоритмов.
По алгоритмам и структурам на lectoriumTV есть неплохие курсы.
Так же не плохо ознакомиться с функциональным программированием(не путать с процедурным). Крышу напрочь сносит.

0
2 / 1 / 1
Регистрация: 23.07.2016
Сообщений: 80
28.07.2016, 08:46  [ТС] 13
Cra3y. Если по теме, то последнее твое сообщение чисто содержит на изначальную постановку вопроса.

При обычном(не wp) подключении к бд и таблицы мой код должен работать в теме wp?
0
шКодер самоучка
2127 / 1843 / 902
Регистрация: 09.10.2013
Сообщений: 4,029
Записей в блоге: 7
28.07.2016, 08:55 14
Онири, честно говоря, не понял вопроса.
0
10 / 10 / 1
Регистрация: 26.09.2011
Сообщений: 139
07.09.2016, 12:56 15
Цитата Сообщение от Онири Посмотреть сообщение
Так что решил перейти на изучение книг.
подниму тему. Посоветуйте хорошых авторов книг по связке PHP sql xml для начинающих.
И по javascript css?
и ещё - в 30 лет не позно начинать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2016, 12:56

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как написать регулярное выражение для выдергивания английских букв и символов: "+", ",", ":", "-", " ", "!", "?" и "."
Не могу ни как собразить как написать регулярное выражение для выдергивания английских букв и...

Книги Г.Шилдта в каком порядке нужно или какие книги для изучения с++
Скажите в каком порядке надо читать книги Г.Шилдта для изучения с++ . Возможно сначала придется с...

Для каждой проведенной игры напечатать словесный результат: "выигрыш", "проигрыш" или "ничья"
Даны два массива из n, однозначных чисел. В первом из них записано кол-во мячей, забитых...

Реализация Игры "Жизнь" из книги Уэзерелл Ч. "Этюды для программистов"
Кто нибудь встречал ее нга с#??? Если у кого-то есть, вы не могли бы выложить исходник?

Текстовый материал (а также пхп-код) не загружается как материал в движке сайта если присутствует символ "верхняя запятая"
Здравствуйте! Проблема такая. Я являюсь администратором сайта на php (скорее всего битрикс) и...

Книги для изучения PHP
Всем привет! В сети достаточно много назных книг, но для новичка определить - качественные ли они...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.