Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 插入FirebirdDB时出错_Php_Objective C_Firebird - Fatal编程技术网

Php 插入FirebirdDB时出错

Php 插入FirebirdDB时出错,php,objective-c,firebird,Php,Objective C,Firebird,首先:我对我糟糕的英语感到抱歉,我是PHP程序的新手 我试图通过PHP脚本将一些值从IOS插入Firebird DB 但脚本显示ibase错误: 动态SQL错误SQL错误代码=-104令牌未知-第1行第182列 我的PHP代码: if ($_SERVER['HTTP_METHOD'] === 'postValues'){ $host = xxx; $username = xxx; $password = xxx; $conn = ibase_connect($host, $username,

首先:我对我糟糕的英语感到抱歉,我是PHP程序的新手

我试图通过PHP脚本将一些值从IOS插入Firebird DB

但脚本显示ibase错误: 动态SQL错误SQL错误代码=-104令牌未知-第1行第182列

我的PHP代码:

if ($_SERVER['HTTP_METHOD'] === 'postValues'){ 
$host = xxx;
$username = xxx;
$password = xxx;
$conn = ibase_connect($host, $username, $password) or 
die ("Verbindung fehlgeschlagen");

$Benutzer_Nachricht = $_POST['NACHRICHT'];
$Benutzer_Nummer = $_POST['USER'];
$datum = date("d.m.Y H:i");
$Benutzer_AN = $_POST['AN'];
$Benutzer_BETREFF = $_POST['BETREFF'];
$Benutzer_KOM = $_POST['KOMMISSIONSNR'];
$Benutzer_AUFTRAG = $_POST['AUFTRAG'];

$Nachrichten_Status = 1;

$query = ("INSERT INTO TNACHRICHTEN( BETREFF, VON, AN, NACHRICHT, DATUM, STATUS, KOMMISSIONSNR, AUFTRAG) values($Benutzer_BETREFF,$Benutzer_Nummer,$Benutzer_AN,$Benutzer_Nachricht,'$datum','$Nachrichten_Status', $Benutzer_KOM, $Benutzer_Auftrag)");

$result=ibase_query($conn,$query);
if (!$result) {
echo json_encode(ibase_errmsg());
}
else
{
echo json_encode("NO Error. Can't insert the record with the query: $query!");
}
}
这些值被正确地提供给PHP


我希望您能帮助我。

请包括$query的实际值。如果在字符串中使用变量扩展,则很可能会导致语句无效或出现语法错误,因为您没有引用所有值。这也是获取SQL注入的一种非常好的方法。您应该真正使用一个适当的参数化SQL查询。首先在IDE中调试查询(如IBExpert或至少循环),然后在最终确定查询中的参数时将其放入程序代码中,以确保代码不受错误和破解的影响。请看,我已经在IBExpert中测试了一段时间,现在代码正在运行。不幸的是,我的应用程序给出了一个错误的字符串,但现在一切正常。非常感谢。伟大的但是我仍然建议您使用参数而不是变量内联。PHP没有很好的安全记录,所以请使用更高级的技术,将查询与数据分离,并在合适的时候提供查询准备