好的,所以我们在组织的api中使用了一个瘦的php应用程序的问题。当我们向苗条应用程序发布更新查询时,数据会通过。
问题在于即使数据传递到api并且在所有字段上执行操作。它作为错误返回。这是因为当我们运行函数时,它在SQL查询结束时对应的sql查询右击这个格式为WHERE id = $ idnull的函数调用中的变量旁边的where语句。 $ id是实际值。该功能的结构与我们成功的功能场地方法相同。有没有人有任何想法?
在我的智慧结束时尝试解决此问题,以便函数写入我们的数据库以便组织正常运行。
function updateOrg($id) {
error_log('addOrg\n', 3, 'php.log');
$request = Slim::getInstance()->request();
$body = $request->getBody();
//var_dump($body);
$org = json_decode($body);
// Handle Checkboxes
if(isset($_REQUEST['recAddEnable'])){ $rAdde = 1; } else $rAdde = 0;
if(isset($_REQUEST['recTelEnable'])){ $rTele = 1; } else $rTele = 0;
if(isset($_REQUEST['recUrlEnable'])){ $rUrle = 1; } else $rUrle = 0;
$sql = "UPDATE usg_usg_orgs
SET
oname='$_REQUEST[oname]',
oemail='$_REQUEST[oemail]',
odesc='$_REQUEST[odesc]',
ourl='$_REQUEST[ourl]',
oadd1='$_REQUEST[oadd1]',
oadd2='$_REQUEST[oadd2]',
ozip='$_REQUEST[ozip]',
ocity ='$_REQUEST[ocity]',
ostate ='$_REQUEST[ostate]',
otel ='$_REQUEST[otel]',
ofax ='$_REQUEST[ofax]',
recTel ='$_REQUEST[recTel]',
recTelEnable= $rTele,
recAdd1='$_REQUEST[recAdd1]',
recAdd2='$_REQUEST[recAdd2]',
recAddEnable= $rAdde,
recCity='$_REQUEST[recCity]',
recCounty='$_REQUEST[recCounty]',
recUrl='$_REQUEST[recUrl]',
recUrlEnable=$rUrle,
recState='$_REQUEST[recState]',
recZip='$_REQUEST[recZip]',
recPubNote='$_REQUEST[recPubNote]',
recPrivNote='$_REQUEST[recPrivNote]',
priContact='$_REQUEST[priContact]',
priTitle='$_REQUEST[priTitle]',
priPhone='$_REQUEST[priPhone]',
priCell='$_REQUEST[priCell]',
priEmail='$_REQUEST[priEmail]',
secContact='$_REQUEST[secContact]',
secTitle='$_REQUEST[secTitle]',
secPhone='$_REQUEST[secPhone]',
secCell='$_REQUEST[secCell]',
secEmail='$_REQUEST[secEmail]',
addContact='$_REQUEST[addContact]',
addTitle='$_REQUEST[addTitle]',
addPhone='$_REQUEST[addPhone]',
addCell='$_REQUEST[addCell]',
addEmail='$_REQUEST[addEmail]',
invContact='$_REQUEST[invContact]',
invTitle='$_REQUEST[invTitle]',
invPhone='$_REQUEST[invPhone]',
invCell='$_REQUEST[invCell]',
invEmail='$_REQUEST[invEmail]',
recModified = UNIX_TIMESTAMP()
WHERE oid= $id";
echo $sql;
try {
$db = getConnection();
$stmt = $db->prepare($sql);
$stmt->execute();
$db = null;
echo json_encode($org);
} catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
}
这是我们用来写orgs的函数。
下面是我们用来写api来编写orgs的函数。
jQuery.ajax({
type: "post",
url: "//usasportgroup.com/api3/orgs/update/"+oid,
data: {
oname:jQuery('#onameMF').val(),
oadd1:jQuery('#oadd1MF').val(),
oadd2:jQuery('#oadd2MF').val(),
otel:jQuery('#otelMF').val(),
ocity:jQuery('#ocityMF').val(),
ostate:jQuery('#ostateMF').val(),
ozip:jQuery('#ozipMF').val(),
ourl:jQuery('#ourlMF').val(),
oemail:jQuery('#oemailMF').val(),
recAdd1:jQuery('#recAdd1MF').val(),
recAdd2:jQuery('#recAdd2MF').val(),
recAddEnable:jQuery('#recAddEnableMF').val(),
recTel:jQuery('#recTelMF').val(),
recTelEnable:jQuery('#recTelEnableMF').val(),
recZip:jQuery('#recZipMF').val(),
recCity:jQuery('#recCityMF').val(),
recState:jQuery('#recStateMF').val(),
recUrl:jQuery('#recUrlMF').val(),
recUrlEnable:jQuery('#recUrlEnableMF').val(),
recPubNote:jQuery('#recPubNoteMF').val(),
priContact:jQuery('#priContactMF').val(),
priTitle:jQuery('#priTitleMF').val(),
priPhone:jQuery('#priPhoneMF').val(),
priEmail:jQuery('#priEmailMF').val(),
priCell:jQuery('#priCellMF').val(),
secContact:jQuery('#secContactMF').val(),
secTitle:jQuery('#secTitleMF').val(),
secPhone:jQuery('#secPhoneMF').val(),
secEmail:jQuery('#secEmailMF').val(),
secCell:jQuery('#secCellMF').val(),
invContact:jQuery('#invContactMF').val(),
invTitle:jQuery('#invTitleMF').val(),
invPhone:jQuery('#invPhoneMF').val(),
invEmail:jQuery('#invEmailMF').val(),
invCell:jQuery('#invCellMF').val(),
addContact:jQuery('#addContactMF').val(),
addTitle:jQuery('#addTitleMF').val(),
addPhone:jQuery('#addPhoneMF').val(),
addEmail:jQuery('#addEmailMF').val(),
addCell:jQuery('#addCellMF').val()},
dataType: "json",
success: function(data) {
jQuery('#orgModal').modal('hide');
},
error: function(data) {
console.log(data);
}
});
这就是我们获取ID的方式:
$app->post('/update/:id', 'updateOrg');
如下面的评论链中所述 这是我们从错误函数WHERE oid = 1216null
返回的示例有人有什么想法吗?任何人?自从我们第一次构建系统以来,这一直困扰着我们。
我认为它可能是服务器端,因为ID经过并被使用但在语句的末尾有一个没有附加到该号码的空值。我查过了。 在你提出约束参数之前是一个长期目标。 经过进一步检查,它似乎返回了Okay的statusText。状态为200。
答案 0 :(得分:0)
好的,经过大量测试和研究的问题比我想象的要简单得多。事实证明,由于某些原因,除了答案之外,我们仍然积极地回应SQL。导致它以http响应200返回。这就是整个发臭时间的问题。我注释掉了echo $ sql命令,它现在的工作方式完全像它应该是全面的。我非常抱歉在回顾过程中浪费了每个人的时间,这是一个非常明显的解决方案。