Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 22.02.2016
Сообщений: 141
1

Как правильно подставлять bind параметры?

13.10.2017, 23:32. Показов 571. Ответов 5
Метки нет (Все метки)

Ребята, не могу разобраться, я с помощью формы передаю параметры, который впоследствии хочу вставить в запрос, в чем моя ошибка? Код не работает.
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
<?php
include 'connect.php';
mysqli_set_charset($connect, 'utf8');
$spe******t_list = htmlspecialchars($_POST['spe******t_list']);
 
$query = mysqli_prepare($connect,"SELECT * FROM personal WHERE position_per = ?");
$stmt = mysqli_stmt_init($connect);
if(!mysqli_stmt_prepare($stmt, $query))
{
    print "Ошибка подготовки запроса\n";
}
else
{
   mysqli_stmt_bind_param($stmt, "s", $spe******t);
 
    foreach($spe******t_list as $spe******t)
    {
        mysqli_stmt_execute($stmt);
        $result = mysqli_stmt_get_result($stmt);
        while ($row = mysqli_fetch_array($result, MYSQLI_NUM))
        {
            foreach ($row as $r)
            {
                print "$r ";
            }
            print "\n";
        }
    }
}
?>
Заходит в ветку вывода сообщения при ошибке подготовки. (Выводит: Ошибка подготовки запроса).
connect точно сделан правильно, проверил, параметр корректно выводится обычным echo, запрос тоже к существующей таблице и столбцу.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2017, 23:32
Ответы с готовыми решениями:

Как задать правильно параметры?
if ($stmt_1 = $mysqli-&gt;prepare(&quot;UPDATE `bd` SET `field`='&quot;.$ch_1.&quot;' WHERE `id`=?&quot;)) ...

Как правильно подставлять значения textbox в код?
Здравствуйте!Есть код создания bat файла для смены tcp/ip настроек. @echo off netsh interface...

Как правильно перекомпилировать под windows функции connect, accept, bind?
компилятор пишет ошибку &quot;переопределение. другая кмпоновка&quot; смотрю про connect на msdn, ...

Как правильно выставить параметры памяти
Собрали компьютер: Материнская плата GA-Z68X-UD3H-D3 Процессор Core i5 2300...

5
502 bad gateway
Эксперт PHP
4532 / 3687 / 1545
Регистрация: 24.04.2014
Сообщений: 10,855
13.10.2017, 23:43 2
PHP
1
2
3
4
5
6
7
8
9
$stmt = mysqli_prepare($connect,"SELECT * FROM personal WHERE position_per = ?");
if(!$stmt)
{
    print mysqli_error($connect);
}
else
{
// ...
}
0
1 / 1 / 0
Регистрация: 22.02.2016
Сообщений: 141
13.10.2017, 23:51  [ТС] 3
Jewbacabra, с вашим вариантом ничего не выводит, пустая страница.
0
502 bad gateway
Эксперт PHP
4532 / 3687 / 1545
Регистрация: 24.04.2014
Сообщений: 10,855
14.10.2017, 00:00 4
Цитата Сообщение от proger10 Посмотреть сообщение
пустая страница.
Значит надо включить отображение ошибок или смотреть логи. И выводить какую-либо информацию для отладки то же было бы не плохо
0
1 / 1 / 0
Регистрация: 22.02.2016
Сообщений: 141
14.10.2017, 00:07  [ТС] 5
Jewbacabra , понял, спасибо
0
1 / 1 / 0
Регистрация: 22.02.2016
Сообщений: 141
23.10.2017, 00:05  [ТС] 6
Пытаюсь реализовать немного по другому и все равно не могу понять что не так делаю.
У меня есть страница, на которой находится выпадающий список, элементы которого берутся из бд с помощью функции (работает корректно, выводит то, что необходимо), а также поле, в которое нужно вывести другой выпадающий список:
HTML5
1
2
3
4
5
<form action="personal_form.php" method="POST">
    <select name="position_list" onchange="javascript:selectSpec();" ><?php position_list();?> </select>
</form>
 
<div name="selectDataSpec" style="float:left;"></div>
В head описана функция, которая должна вызваться после выбора элемента из выпадающего списка, она отправляет данные в файл ajax_base.php:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
function selectSpec(){
            $('#position_list').change(function(){
                var id_spec = $(this).val();
                $.ajax({
                        type: "POST",
                        url: "../main/ajax_base.php",
                        data: "action=showSpecForInsert&id_spec="+id_spec,
                        cache: false,
                        success: function(responce){ $('#selectDataSpec').html(responce)}
                });
            };
        };
В этом файле описана функций, которая должна показать в намеченной div селект, и заполнять ее нужной информацией:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include 'connect.php';
mysqli_set_charset($connect, 'utf8');
    ini_set('display_errors','On');
    error_reporting('E_ALL');
switch ($_POST['action']){
        case "showSpecForInsert":
                $query = "SELECT * FROM personal WHERE position_per=".$_POST['id_spec']);
                $result = mysqli_query($connect, $query) or die(mysqli_error($connect)); 
                echo '<select size="1" name="name" onchange="javascript:selectSpec;">';
                echo "<option value='0'>Не выбрано</option>";
                while($row = mysqli_fetch_object($result)){
                        echo "<option>".$row->surname_per." ".$row->name_per." ".$row->patronymic_per."</option>";
                }
 
                echo "</select>";
                break;
};
Помогите пожалуйста разобраться, очень нужно!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.10.2017, 00:05

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

Как правильно описать все параметры?
Что-то запуталась... Это модуль на ввод одномерного целочисленного массива. Unit vvod;...

AjaxComplete, как правильно задать параметры?
Всем доброго дня. Ребята, что-то не получается совладать с событием ajaxComplete. Допустим...

Как правильно задать параметры Arc?
#include &lt;windows.h&gt; #include &lt;conio.h&gt; DWORD...

Многопоточность, как правильно передавать параметры?
#include &quot;lcbot.h&quot; #include &quot;game.h&quot; #include &lt;windows.h&gt; #include &lt;process.h&gt; #include...

Как правильно обработать отсутствующие get-параметры
Приветствую. Как правильно обработать отсутствующие get-параметры? У меня два варианта для...

Как правильно задать параметры Db.search()
Хочу найти в Представлении контрагента (ContractParties, Kod - поля формы): searchFormula$ = {Form...


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

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

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