MySQL — PHP получить данные из Firebird

мой вопрос обновляется. мой новый вопрос таков;

  <?php

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: X-Requested-With');
header('Access-Control-Allow-Headers: Content-Type');
header('Access-Control-Allow-Methods: POST,GET,OPTIONS,DELETE,PUT');

header('Cache-Control:public, max-age=100');

if ($db = ibase_connect('111.222.333.444:C:\xx\xx\xx\xx\xx\xx.FDB', 'SYSDBA',
'masterkey')) {



$sql = "select * from STOK where barkodu='$barkodu'";

$query =  ibase_prepare($sql);
$rs=ibase_execute($query);


if($row = ibase_fetch_row($rs)){

$stok_adi = $row[2];

$sonuc->stok_adi = $stok_adi;

}

ibase_close($db);

}
else {
$sonuc->durum = "cevapyok";
}
echo json_encode($sonuc);


ibase_free_query($query);
ibase_free_result($rs);
?>

Есть мои коды, он работает нормально;

$sql = "select * from STOK";

Но я хочу этого;

$sql = "select * from STOK where barkodu='$barkodu'";

Как я могу получить $barkodu с http поста с внешнего?
Благодарю.

Кстати;
я изменил свой IP-адрес с 111.222.333.444
и моя база данных с C:\xx\xx\xx\xx\xx\xx.FDB
для моей безопасности

1

Решение

Предупреждение: я обычно не программирую на PHP, этот ответ основан на чтении документации и моих знаниях Firebird.

Ваш текущий код небезопасен и уязвим для внедрения SQL. Вместо использования строковой интерполяции для помещения вашего значения непосредственно в строку запроса, вы должны вместо этого использовать параметризованный запрос.

То есть вам нужно изменить код на:

$sql = "select * from STOK where barkodu=?";

$query = ibase_prepare($sql);
$rs = ibase_execute($query, $barkodu);

Или, если вы не используете запрос повторно:

$sql = "select * from STOK where barkodu=?";
$rs = ibase_query($sql, $barkodu);

Смотрите также

Если вместо этого ваш вопрос заключается в том, как получить параметр из поста формы, то я предлагаю вам взглянуть на Как получить значение поля ввода с помощью PHP, или искать учебник о том, как получить значения формы с помощью PHP; однако это проблема, не связанная напрямую с Firebird (и MySQL).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]