мой вопрос обновляется. мой новый вопрос таков;
<?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
для моей безопасности
Предупреждение: я обычно не программирую на 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).
Других решений пока нет …