2 / 1 / 1
Регистрация: 23.07.2016
Сообщений: 80
1

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

27.07.2016, 17:15. Показов 1343. Ответов 14

Author24 — интернет-сервис помощи студентам
При создании 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
Ответы с готовыми решениями:

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

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

Книги по SQL Server для профессионального изучения
Посоветуйте пожалуйста книги по SQL для профессионального изучения. Чтоб были описаны все тонкости...

Книги для самостоятельного изучения PHP
Добрый день. После 3 лет работы сисадмином, понял что кодить нравится больше, чем админить, выбрал...

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

Не по теме:

ссорян


Маловато инфы) код бы расширить для просмотра...А так, проверку на существование $_POST если ее нет, запрос корректно верный, поубирать лишние пробелы разве что
0
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
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
471 / 399 / 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
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
28.07.2016, 08:06 7
Не заметил var_dump по утру ошибка говорит, что в $wpdb у вас не объект. Покажите что там хранится то)
0
шКодер самоучка
2227 / 1921 / 927
Регистрация: 09.10.2013
Сообщений: 4,259
Записей в блоге: 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
шКодер самоучка
2227 / 1921 / 927
Регистрация: 09.10.2013
Сообщений: 4,259
Записей в блоге: 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
шКодер самоучка
2227 / 1921 / 927
Регистрация: 09.10.2013
Сообщений: 4,259
Записей в блоге: 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
07.09.2016, 12:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2016, 12:56
Помогаю со студенческими работами здесь

Нужны книги или видеоуроки для изучения языка
Подскажите книги или уроки по си. Главное чтобы были с задачами и решениями на задачи желательно....

Посоветуйте книги или ресурсы для изучения Assembler
Посоветуйте книги или ресурсы для изучения Assembler новичкам.

посоветуйте книги или курсы для изучения ООП в C++
посоветуйте книги или курсы для изучения ООП в C++

Выбрать язык для изучения T-SQL или PL/SQL
Здравствуйте, ввиду санкций и ухода из РФ таких организаций как Microsoft и Oracle, не знаю как...

1C: Порекомендуйте ресурсы для изучения
Я новичок в программировании на языке 1С. Просьба порекомендовать ресурсы, с которых стоит начинать...

Порекомендуйте ресурс для изучения C#
Есть в сети современный ресурс для изучения технологий программирования...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru