Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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
Drupal 7 form\u使用数组中的SQL破坏ajax表单_Ajax_Drupal_Drupal 7 - Fatal编程技术网

Drupal 7 form\u使用数组中的SQL破坏ajax表单

Drupal 7 form\u使用数组中的SQL破坏ajax表单,ajax,drupal,drupal-7,Ajax,Drupal,Drupal 7,我在模块中的表单中有下一个代码: $query = db_select( 'field_data_field_product_photos', 'p' ); $query->addField( 'p', 'entity_id', 'pid' ); $query->addField( 'f', 'uri', 'uri' ); $query->join('file_managed', 'f', 'p.field_product_photos_fid=f.fid' ); $query

我在模块中的
表单中有下一个代码:

$query = db_select( 'field_data_field_product_photos', 'p' );
$query->addField( 'p', 'entity_id', 'pid' );
$query->addField( 'f', 'uri', 'uri' );
$query->join('file_managed', 'f', 'p.field_product_photos_fid=f.fid' );
$query->condition('p.entity_id', $products_nids, 'IN' );
$query->condition('p.delta', 0, '=' );
$result = $query->execute();
但在表单中单击其他电台时,ajax返回错误

$products\u nids
就像
数组(10,14)
一样。如果放置
数组(10,14)
而不是
$products\u nids
,它将正常工作。但是,
$products\u nids
会动态生成

有人知道该怎么做吗


错误的p.S.必须是
字段\数据\字段\产品\照片
,而不是
字段\修订\字段\产品\照片

请查看生成的SQL:

...WHERE (p.entity_id IN ())...
非常简单,
$product\u nids
在您将其传递给查询时为空,这将产生如上所述的无效SQL。要避免这种情况,请修复阻止正确填充
$product\u nids
的任何错误,或添加一些错误检查:

if (!empty($product_nids)) {
  $query->condition('p.entity_id', $products_nids, 'IN' );
}

只需查看生成的SQL:

...WHERE (p.entity_id IN ())...
非常简单,
$product\u nids
在您将其传递给查询时为空,这将产生如上所述的无效SQL。要避免这种情况,请修复阻止正确填充
$product\u nids
的任何错误,或添加一些错误检查:

if (!empty($product_nids)) {
  $query->condition('p.entity_id', $products_nids, 'IN' );
}

$product\u nids
不为空-我检查。例如,在某些节点上
$product\u nids==array(10,14)
。如果在query put
array(10,14)
中,一切都会很好地工作。对不起,这是-看看产生的SQL,它不能准确地工作,你刚刚证明了我的观点:)如果它与静态数组一起工作,那么你肯定知道
$product\u nids
要么是一个空数组,要么根本不是数组。就像我说的,SQL不能撒谎,只要看看产生的查询字符串,我很抱歉,你是对的,我收到nid的方式不好。ajax回调无法接收它。这就是为什么
$product\u NID
是空的。Thx获取帮助)
$product\u nids
不为空-我检查。例如,在某些节点上
$product\u nids==array(10,14)
。如果在query put
array(10,14)
中,一切都会很好地工作。对不起,这是-看看产生的SQL,它不能准确地工作,你刚刚证明了我的观点:)如果它与静态数组一起工作,那么你肯定知道
$product\u nids
要么是一个空数组,要么根本不是数组。就像我说的,SQL不能撒谎,只要看看产生的查询字符串,我很抱歉,你是对的,我收到nid的方式不好。ajax回调无法接收它。这就是为什么
$product\u NID
是空的。Thx(寻求帮助)